mysql数据库下

数据库优化

数值的对比要比字符串快,以后建表时,能用数值代替的,尽量不要使用字符串

数值比较节省空间

给列做索引,索引可以大大加强查询的速度

联合索引,给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*,以便养成好的习惯

尽量使用数值型的字段

你可能感兴趣的:(mysql数据库下)