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操作
。。。。。。
发生死锁,应该先检查事务的隔离级别;调整业务逻辑,拆分事务;往往锁住的是非主键索引,权衡一下该索引是否有必要加;最后,实在没招了,异步更新数据库,避免高并发同时访问和更新数据,这个可能需要根据业务需求来定,是否一定需要要及时更新数据,否则定时操作;
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。