MySQL优化 1. 避免使用 select 你需要什么信息,就查询什么信息,查询的多了,查询的速度肯定就会慢 2. 当你只需要查询出一条数据的时候,要使用 limit 1 比如你要查询数据中是否有男生,只要查询一条含有男生的记录就行了,后面不需要再查了,使用Limit 1 可以在找到一条数据后停止 ...
分类:
数据库 时间:
2020-05-09 01:16:13
阅读次数:
73
1. 数据存储 超大文本,或者图片、视频等二进制文件避免直接存储在数据库。 2.数据访问 减少数据库访问;实时性要求不高、不常变化的数据;通过cache提示系统性能,减少数据库压力。 减少无用数据的查询。 3.硬件影响 并发量高,但每次访问数据量小,对CPU处理能力、核数要求比较高。 并发量低,但是 ...
分类:
数据库 时间:
2020-05-02 23:17:57
阅读次数:
126
索引一般以文件形式存储在磁盘上,索引检索需要磁盘I/O操作,为了尽量减少磁盘I/O。磁盘往往不是严格按需读取,而是每次都会预读,而且主存和磁盘以页为单位交换数据,所以在读取的数据不在主存中时,会从磁盘中读取一批数据(页)到主存中。 因此,要快速挺高性能,直接将常用的、少变更的数据直接读取到内存中,使 ...
分类:
数据库 时间:
2020-05-02 23:10:16
阅读次数:
78
1、SQL语句中IN包含的值不应过多 IN中如果数值较多,产生的消耗会比较大的。再例如:select id from t where num in(1,2,3) 对于连续的数值,能用 between 就不要用 in 了;再或者使用连接来替换。 2、SELECT语句务必指明字段名称 SELECT *增 ...
分类:
数据库 时间:
2020-05-02 22:47:58
阅读次数:
84
1. 案例:一条慢SQL拖死整个系统 某天突然发现服务探测接口疯狂告警、同时数据库CPU消耗也告警,最后系统都无法访问; 起先以为服务出现问题,服务重启后现象依旧; 后检查数据库发现,大量的慢SQL正在阻塞等待执行: 查看哪些表被锁:show OPEN TABLES where In_use > 0 ...
分类:
数据库 时间:
2020-05-02 22:39:04
阅读次数:
145
1.Explain简介 获取 select 语句的执行计划,通过 explain 我们可以知道:表的读取顺序,数据读取操作的类型,哪些索引可以使用,哪些索引实际使用了,表之间的引用,每张表有多少行被优化器查询等信息。 样例: 在 select 语句之前增加 explain 关键字,执行查询时,会返回 ...
分类:
数据库 时间:
2020-05-02 15:07:38
阅读次数:
83
索引简介: 索引是为了加速对表中数据行的检索二创建的一种分散存储的数据结构 为什么要用索引 索引能极大的减少存储引擎需要扫描的数据量 索引可以把随机IO变为顺序IO 索引可以帮助我们在进行分组、排序等操作时,避免使用临时表 为了说明索引的数据结构,先对比一下几种常见的数据结构特点 一些数据结构 二叉 ...
分类:
数据库 时间:
2020-04-30 19:00:40
阅读次数:
93
MySQL体系结构(独有的插件式体系结构) Connectors 连接器 支持多协议 TCP/IP 命名管道和共享内存(window系统) UNIX域套接字(linxu或unix环境),只能是客户端和数据库实例在同一台服务器上时使用 mysql使用的是半双工通信方式(所以应用中要避免没有limit的 ...
分类:
数据库 时间:
2020-04-29 18:42:06
阅读次数:
80
报表需求1:从六千多万条数据中找需要的top100 方法:1.mysql explain 2.索引 由于数据量大,因此我们需要通过索引的方式降低搜索时间,不加索引FineReport直接报了sql时间过长的错误。 因此在对应的月份、用户等字段加了联合索引(保证这些选取的字段不为空,联合索引有最左匹配 ...
分类:
数据库 时间:
2020-04-28 09:26:22
阅读次数:
78
51.索引的优缺点:可以增加查询效率,但降低update,insert,delete的效率,需要维护索引的结构。 2.5叉B树:key的数量[ceil(m/2)-1]<=n<=m-1,n>4时,中间节点向上分裂,两边节点分裂。 3.m叉BTree: 1.树中每个节点最多有m个孩子 2.除了根节点与叶 ...
分类:
数据库 时间:
2020-04-20 14:01:45
阅读次数:
70