欢迎各界计算机爱好者加入,弘扬极客精神!

优化数据库有什么原则?方法?

0 喜欢 0 不喜欢
优化数据库有什么原则?方法?
最新提问 11月 7 分类:数据库 | 用户: Strlonve (8,308 分)  

登录 或者 注册 后回答这个问题。

4 个回答

0 喜欢 0 不喜欢

1.对查询进行优化,尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。
2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描

3.应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描。

4.应尽量避免在 where 子句中使用 or 来连接条件,否则将导致引擎放弃使用索引而进行全表扫描

5.主键是必要的,SQL SERVER的主键同时是一个唯一索引,而且在实际应用中,我们往往选择最小的键组合作为主键,所以主键往往适合作为表的聚集索引。在有多个键的表,主键的选择也比较重要,一般选择总的长度小的键,小的键的比较速度快,同时小的键可以使主键的B树结构的层次更少。主键的选择还要注意组合主键的字段次序,对于组合主键来说,不同的字段次序的主键的性能差别可能会很大,一般应该选择重复率低、单独或者组合查询可能性大的字段放在前面。

6.数据类型尽量用数字型,数字型的比较比字符型的快很多。

7.数据类型尽量小,这里的尽量小是指在满足可以预见的未来需求的前提下的。

8.尽量不要允许NULL,除非必要,可以用默认值代替。

9.少用TEXT和IMAGE,二进制字段的读写是比较慢的,而且,读取的方法也不多,大部分情况下最好不用。

10.自增字段要慎用,不利于数据迁移。

最新回答 11月 7 用户: Mr.Devil (7,368 分)  
0 喜欢 0 不喜欢

数据库优化的指导思路是首先写出的SQL是优化器喜欢的,然后在排除烂的SQL的情况下就是,找瓶颈,数据库吞吐量上不去或者查询慢都是因为某一瓶颈的存在,从非常大的粒度来看,瓶颈可以分为五类:io 内存 CPU 网络 锁。

当卡在某一瓶颈时,其他的资源就会被闲置,解决瓶颈或者用非瓶颈的资源做trade off达到总和的最大才是优化的正解,比如建索引就是以空间换时间的做法。

由于数据库相对比较复杂,上下文有区别优化思路也会不一样。

 

最新回答 11月 23 用户: Qyoung (2,872 分)  
0 喜欢 0 不喜欢
索引、缓存、分表、分库。。。。
最新回答 11月 25 用户: 一二一 (2,892 分)  
0 喜欢 0 不喜欢
1.关键字段建立索引。2.使用存储过程。3.备份数据库,清除垃圾。4.sql语句语法的优化。5.清理删除日志。
最新回答 6 天前 | 用户: L.R. (2,340 分)  
...