Mysql数据库的优化
1,选取最合适的字段属性
Mysql可以支持大量数据的存取,但是一般来说数据库表越小,他执行查询操作就会越快,为了获得更好的性能,我们可以在设置字段宽度的时候尽可能的小,足够支持查询即可,也可以节省内存,虽然说现在存盘不是很贵,为你们老板节省成本吧~♥ 比如在设置name这个字段的时候,如果将其设置为char(255),这样的话显然数据库在变相的增大。
那么什么时候用char和varchar呢?
♥ 比如手机号码,固定11位的,就使用char,
♥ 如果是其他的,就使用varchar,设置定长就好啦
温馨提示
可以在检查检查其他表结构,看看设计是否完善
2.分析查询SQL,适当拆分,添加索引等
拆分
大表拆分的前提条件是在执行查询语句之前,已经知道需要查询的数据会在哪一个位置上,然后再进行拆分
添加索引
添加索引的时候,不必要的索引一定不要设置,比如在建表的时候,如果不设置默认值,那么mysql数据库都会默认设置为NULL,如果使用NULL会使得索引维护更加复杂,所以说设置NOT NULL
3,优化SQL语句的同时,优化代码逻辑,看看是否合理优化查询语句:使用简单的查询,避免使表链接,不要进行全表扫描,多表查询时,简单的查询语句放到前面,或者带索引的语句,查询指定的列时,不要偷懒使用select *
4,添加本地缓存和redis缓存 ✕✕✕✕✕✕☀ 本地缓存:默认存储位置在C盘
☀ Redis作为mysql数据库的缓存服务器:实现读写分离
blingbling
读: 读redis->没有,读mysql->把mysql数据写回redis 写: 写mysql->成功,写redis(捕捉所有mysql的修改,写入和删除事件,对redis进行操作)✕✕✕✕✕往期文章:
HTML5本地数据库
非关系型数据库Redis的安装使用
MySQL数据库中的索引
在oracle数据库中留住时间