摘要:
1,创建索引 对于查询占主要的应用来说,索引显得尤为重要。很多时候性能问题很简单的就是因为我们忘了添加索引而造成的,或者说没有添加更为有效的索引导致。如果不加索引的话,那么查找任何哪怕只是一条特定的数据都会进行一次全表扫描,如果一张表的数据量很大而符合条件的结果又很少,那么不加索引会引起致命的性能下降。但是也不是什么情况都非得建索引不可,比如性别可能就只有两个值,建索引不仅没什么优势,还会影响到更新速度,这被称为过度索引。2,复合索引 比如有一条语句是这样的:select * from users where area=’beijing’ and age=22;如果我们是在area和age上分 阅读全文
摘要:
1、交叉联接(cross join) select * from t.toy ,b.boy from toy as t cross join boy as b 其效果同select * from t.toy ,b.boy from toy as t boy as b,cross join 返回两张表每一行相乘的结果2、内联接就是通过查询中的条件移除了某些结果数据行后的交叉联接 相等联接(equijoin) select toys.toy boys.boy from toys inner join boys on boys.id = toys.id 测试相等性的内联接3、不等联接(no... 阅读全文
摘要:
1、in的使用举例 select * from tableA where id in (select id from tableB)2、exists的使用举例 select * from tableA where exists (select * from tableB where tableA.id = tableB.id)3、比较 exists适合内小外大的查询,in适合内大外小的查询 in确定给定的值是否与子查询或列表中的值匹配 exists指定一个子查询,检测行的存在 阅读全文
摘要:
1、sqlserver原表存在:insert into a select * from b原表不存在:select * into a from b2、mysql、oracle原表存在:insert into a select * from b原表不存在:create table a select * from b 阅读全文