mysql 写或者条件_Mysql数据库的优化

cabfc02584228e13befb22eb052a584d.gif

af417636209d52d8cdc078b599361c4b.gif Mysql数据库的优化 0103f60bf8a9e52a18de0bc5aa9fc78a.gif e89337beff3d84fd27be72dac2651571.png c583b268c8c6fd1722d70ca5d23c4191.png

1,选取最合适的字段属性

Mysql可以支持大量数据的存取,但是一般来说数据库表越小,他执行查询操作就会越快,为了获得更好的性能,我们可以在设置字段宽度的时候尽可能的小,足够支持查询即可,也可以节省内存,虽然说现在存盘不是很贵,为你们老板节省成本吧~

3ec78ae80de5d592ef1452b99f9f1986.png

♥ 比如在设置name这个字段的时候,如果将其设置为char(255),这样的话显然数据库在变相的增大。

那么什么时候用char和varchar呢?

♥ 比如手机号码,固定11位的,就使用char,

♥ 如果是其他的,就使用varchar,设置定长就好啦

温馨提示

可以在检查检查其他表结构,看看设计是否完善

c583b268c8c6fd1722d70ca5d23c4191.png

2.分析查询SQL,适当拆分,添加索引等

61d600ea902d596a276b3b81c0bb57fa.png 92cd209f701b71a4e27b2471dfe289ca.png c7b25f7b53468cc1cac979470a0d432c.png

拆分

大表拆分的前提条件是在执行查询语句之前,已经知道需要查询的数据会在哪一个位置上,然后再进行拆分

c7b25f7b53468cc1cac979470a0d432c.png

添加索引

添加索引的时候,不必要的索引一定不要设置,比如在建表的时候,如果不设置默认值,那么mysql数据库都会默认设置为NULL,如果使用NULL会使得索引维护更加复杂,所以说设置NOT NULL

c583b268c8c6fd1722d70ca5d23c4191.png 3,优化SQL语句的同时,优化代码逻辑,看看是否合理 a8579cc0a6a44bfc93eb6d24b54c4c50.png

优化查询语句:使用简单的查询,避免使表链接,不要进行全表扫描,多表查询时,简单的查询语句放到前面,或者带索引的语句,查询指定的列时,不要偷懒使用select *

c583b268c8c6fd1722d70ca5d23c4191.png 4,添加本地缓存和redis缓存 84ea605a07a49eaaca133e0d0e4640a2.png dbd757277fd21d0d774e70000b2e4cbf.gif✕✕✕✕✕✕

☀ 本地缓存:默认存储位置在C盘

☀ Redis作为mysql数据库的缓存服务器:实现读写分离

blingbling

83160aea7f62242bd62198baca41f025.gif

读: 读redis->没有,读mysql->把mysql数据写回redis

83160aea7f62242bd62198baca41f025.gif

写: 写mysql->成功,写redis(捕捉所有mysql的修改,写入和删除事件,对redis进行操作)✕✕✕✕✕ f296aee2185075b411eadb394c8a5e95.gif

往期文章:

HTML5本地数据库

非关系型数据库Redis的安装使用

MySQL数据库中的索引

在oracle数据库中留住时间

cb551bf5f015e0faa9e5d4aa5a52b4a5.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值