首页 > 代码库 > web前端常犯错误集锦

web前端常犯错误集锦

html部分

1.head中不加doctype的类型,会导致浏览器兼容性的问题

2. id用数字来表示

3.文件编码与meta规定的charset不一致 

Mysql部分

Mysql两个常见引擎 ,区别 
1、MyIsAM 我的理解是作为只读表,则使用该引擎,该引擎对查询有优化,并且改善了索引树的空间利用率;该引擎没有事务的控制;不太容易发生死锁 
2、InnoDB 事务表引擎,保证事务的完整性;如果该表更新频繁,则使用该表引擎;如果数据量巨大,也应该使用该表引擎,并且有自己的缓冲池; 容易发生死锁 

数据库发生死锁的情况,举例,并给出自己的解决(避免)方案 

拿mysql来说吧,mysql发生死锁的情况实在是太多太多了,我有很多血的教训~~~~ 

1、在InnoDB表中,以主键作为查询条件,在高并发环境下,同时select和update一条数据,发生死锁(行锁,貌似不严重,只是回滚查询操作) 

2、在InnoDB表中,用非主键索引的字段去更新数据,发生死锁(貌似是锁表了) 

3、在InnoDB表中,对同一行数据进行update和insert操作 

。。。。。。 

发生死锁,应该先检查事务的隔离级别;调整业务逻辑,拆分事务;往往锁住的是非主键索引,权衡一下该索引是否有必要加;最后,实在没招了,异步更新数据库,避免高并发同时访问和更新数据,这个可能需要根据业务需求来定,是否一定需要要及时更新数据,否则定时操作;