数据库(MySQL)的优化技巧
来源:互联网 发布:淘宝买家资料获取器 编辑:程序博客网 时间:2024/06/05 01:18
从sql语句出发:
避免使用:
① NOT IN和<>操作都不会使用索引将进行全表扫描。NOT IN可以NOT EXISTS代替,id<>3则可使用id>3 or id<3来代替。
② 一般情况下不鼓励使用like操作,如果非使用不可,如何使用也是一个问题。like “%aaa%” 不会使用索引而like “aaa%”可以使用索引。
③ 不要以为 NULL 不需要空间,其需要额外的空间,并且,在你进行比较的时候,你的程序会更复杂。当然,这里并不是说你就不能使用NULL了,现情 况是很复杂的,依然会有些情况下,你需要使用NULL值。 因为需要另外的字段判断记录是不是为null。
细节优化:
① 在确认返回的数据只有一条的情况下,加上LIMIT 1可以增加性能。这样一样,MySQL数据库引擎会在找到一条数据后停止搜索,而不是继续往后查少下一条符合记录的数据。
② 通过去除不必要的返回字段可以提高性能,例:从数据库里读出越多的数据,那么查询就会变得越慢。并且,如果你的数据库服务器和WEB服务器是两台 独立的服务器的话,这还会增加网络传输的负载。
从表的结构出发:
① 比如一张表中存在userName,userPassword,还有你的家庭住址,个人喜好之类的信息。相比起来我们对userName,userPassword的操作更加的频繁,那其他的个人信息存在这张表上并不是一个明智的选择,可以选择把个人信息放在另外一张表上,这样会让你的表有更好的性能。这个叫做“垂直分割”。是一种把数据库中的表按列变成几张表的方法,这样可以降低表的复杂度和字段的数目,从而达到优化的目的。
② 尽量使用数字型字段,若只含数值信息的字段尽量不要设计为字符型,这会降低查询和连接的性能,并会增加存储开销。
③ 索引并不是越多越好,索引固然可以提高相应的 select 的效率,但同时也降低了 insert和update 的效率,因为 insert 或 update 时有可能会重建索引,所以视具体情况而定。一个表的索引数最好不要超过7个,若太多则应考虑一些不常使用到的列上建的索引是否有必要。
④ 对于索引的创建的时候,我们应该要尽量选择短的数据作为索引。
从数据库系统出发:
① 开启了mysql服务器查询缓存。当有很多相同的查询被执行了多次的时候,这些查询结果会被放到一个缓存中,这样,后续的相同的查询就不用操作表而直接访问缓存结果了。
- 数据库(MySQL)的优化技巧
- mysql 数据库优化技巧
- mysql 数据库优化技巧
- mysql数据库优化技巧
- MYSQL数据库优化技巧
- MySQL数据库优化技巧
- mysql数据库 优化技巧
- MySQL数据库优化技巧(二)
- [数据库] MySql查询优化技巧
- mysql数据库优化--SQL技巧
- Mysql数据库查询占用内存和CPU的优化技巧
- 解析mysql数据库性能优化的六大技巧
- MySQL数据库运用技巧和优化
- MySQL数据库性能优化六大技巧
- MySQL数据库性能优化六大技巧
- MySQL数据库性能优化六大技巧
- MySQL数据库性能优化六大技巧
- MySQL数据库性能优化六大技巧
- ajax异步调用
- javaseday29(tcp)
- node request(api文件下载时用到)
- 做程序员有哪些好处?
- 支持向量机(SVM)
- 数据库(MySQL)的优化技巧
- Kotlin视频
- VSTO:无法安装此应用程序,因为已安装具有相同标识的应用程序
- Vue相关框架
- 响应式布局 css控制和js控制
- angularjs-菜单
- Flume
- Oracle—存储函数(转)
- swagger-ui使用问题记录