一、建表原则: 1、表的优化与类型选择 (1)定长与变长相分离。 (2)根据使用频率建立主表及副表(将不常用的字段放入副表中:比如用户表,将用户家庭地址等详细信息放入附表,当需要查询详情,再点击查询)。 (3)在满足数据库“三范式”的前提下,采用“反三范式”,合理加入冗余字段。该思路是以空间换时间, ...
分类:
数据库 时间:
2018-01-19 22:21:34
阅读次数:
234
in型子查询引出的陷阱:(扫更少的行,不要临时表,不要文件排序就快) 题: 在ecshop商城表中,查询6号栏目的商品, (注,6号是一个大栏目) 最直观的: mysql> select goods_id,cat_id,goods_name from goods where cat_id in (s... ...
分类:
数据库 时间:
2018-01-17 00:36:56
阅读次数:
241
sql语句优化: 1: sql语句的时间花在哪儿? 答: 等待时间 , 执行时间. 等待时间:看是不是被锁住了,那就不是语句层面了是服务端层面了,看连接数内存。 执行时间:到底取出多少行,一次性取出1万行那是你的sql语句写的失败,二是扫描多少行,扫描多少行需要技术来分析,通过explain来分析。... ...
分类:
数据库 时间:
2018-01-16 18:02:52
阅读次数:
245
原文链接:http://www.cnblogs.com/kevingrace/p/6133818.html 谢谢楼主 1.简单介绍 InnoDB给MySQL提供了具有提交,回滚和崩溃恢复能力的事务安全(ACID兼容)存储引擎。InnoDB锁定在行级并且也在SELECT语句提供一个Oracle风格一致 ...
分类:
数据库 时间:
2018-01-10 21:37:37
阅读次数:
193
1、优化方式 硬件优化=》系统优化=》mysql配置优化=》SCHEMA优化=》sql优化=》其他解决方案(redis or MongoDB or Cassandra or HBase) 2、mysql配置分析 1)常见瓶颈 90%系统瓶颈都在IO上,所以提高IOPS尤为总要,iowait过高,加内 ...
分类:
数据库 时间:
2018-01-06 19:07:48
阅读次数:
224
一简介:参考了几位师兄,尤其是M哥大神的博客,让我恍然大悟,赶紧记录下二 原理: mysql的三种算法 1 Simple Nested-Loop Join 将驱动表/外部表的结果集作为循环基础数据,然后循环从该结果集每次一条获取数据作为下一个表的过滤条件查询数据,然后合并结果。如果有多表join,则 ...
分类:
数据库 时间:
2017-12-28 21:39:16
阅读次数:
170
优化方面: 存储层:数据表”存储引擎”选取、字段类型选取、逆范式(3范式) 设计层:索引、分区/分表 架构层:分布式部署(主从模式/共享) sql语句层:结果一样的情况下,要选择效率高、速度快、节省资源的sql语句执行 熟悉的存储引擎: Myisam:持的特性有压缩机制等,mysiam的并发性较比i... ...
分类:
数据库 时间:
2017-12-23 23:09:16
阅读次数:
180
1. 优化流程图 mysql优化(主要增加数据库的select查询,让查询速度更快) 2. 优化mysql的方面 主要从以下四个方面去优化mysql ①存储层:如何选择一个数据库引擎,选择合适的字段列类型 ②设计层:满足表的三范式,建立适当的索引,分表分区 ③sql层:设计出更好的sql语句 ④架构 ...
分类:
数据库 时间:
2017-12-22 18:38:21
阅读次数:
171
一、定期检查表和分析表 分析表的语法如下: ANALYZE [LOCAL | NO_WRITE_TO_BINLOG] TABLE tbl_name [, tbl_name] ... 本语句用于分析和存储表的关键字分布,分析的结果将可以使得系统得到准确的统计信 息,使得 SQL 能够生成正确的执行计划 ...
分类:
数据库 时间:
2017-12-18 15:08:57
阅读次数:
219
本文转自:https://www.tuicool.com/wx/2eMBfmq 前言 说起MySQL的查询优化,相信大家收藏了一堆奇技淫巧:不能使用SELECT *、不使用NULL字段、合理创建索引、为字段选择合适的数据类型..... 你是否真的理解这些优化技巧?是否理解其背后的工作原理?在实际场景 ...
分类:
数据库 时间:
2017-12-15 16:54:17
阅读次数:
189