文本内容:
Java面试题mysql语句优化部分L where子句中可以对字段进行null值判断吗?可以,比如select idfrom twhere numis null这样的sql也是可以的但是最好不要给雌库留NULL,尽可能的f更用NOT NULL填充数据库.不要以为NULL不需要空间,比如char(lOO)型,在字段建立时,空间就固定了,不管是否插入值(NULL也包含在内),都是占用100个字符的空间的,如果是varchar这样的变长字段,null不占用空间.可以在num上设置默认值0,确保表中num列没有null值,然后这样查询:select idfrom twhere num=
0.
2、select*from adminleft joinlog onadmin.admin_id=log.adminjd wherelog.admin_id10如何优化?优化为select*from(select*from adminwhere admin_id10)T1left joinlog onTl.admin Jd=log.admin_id.使用JOIN时候,应该用小的结果驱动大的结果(left join左边表结果尽量小如果有条件应该放到左边先处理,right join同理反向),同时尽量把牵涉到多表联合的查询拆分多个query(多个连表查询效率低,容易到之后锁表和阻塞)・
3、limit的基数比较大时使用between场景有那些?例如elect食from adminorder byadminid limit100000,优化为elect*from adminwhere admintime*2014-01-0I。