数据库优化
数值的对比要比字符串快,以后建表时,能用数值代替的,尽量不要使用字符串
数值比较节省空间
给列做索引,索引可以大大加强查询的速度
联合索引,给AB两列做联合索引,where A
索引会加重数据库负担
1.应尽量避免在where子句中对字段进行null值判断,否则将导致引擎放弃
使用索引进行全表扫描
2.对查询进行优化,应尽量避免全表扫描,首先考虑在where及order by上
建立索引
3.应尽量避免在where子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行
全表扫描
4.应该尽量避免在where子句中使用or来连接条件,否则将导致引擎放弃使用使用索引而进行全表扫描
5.in可以使用索引
6.应尽量避免在where子句中对字段进行表达式操作
7.应尽量避免在where子句中对字段进行函数操作
8.很多时候exists代替in是一个好的选择
9.尽量使用数字型字段
10.尽可能的使用varchar/nvarchar代替char/nchar,因为首先字段存储
空间小,可以节省存储空间
11.任何地方都不要使用select * from t,用具体的字段列表代替‘*’
不要返回用不到的任何字段
12.尽量使用表变量来代替临时表。如果表变量包含大量数据,请注意
索引非常有限(只有主键索引)。
13.避免频繁创建和删除临时表,以减少系统表资源的消耗
14.在新建临时表时,如果一次性插入数据量很大,那么可以使用select into
代替create table,避免造成大量log,以提高速度;如果数据量不大,未来缓和
系统表的资源,应先create table ,避免造成大量log,以提高速度;如果
数据量不大,未来缓和系统表的资源,应先create table,然后insert
总结:
能使用索引(排序,二分查找),效率高
大量的临时表,大数据的临时表加重内存的负担,不如直接建议实体表
尽量不要使用I*,以便养成好的习惯
尽量使用数值型的字段