随笔分类 - MySQL
摘要:MySQL之group by group by优化 #删除掉目前的联合索引 idx_user_pro_age_sta drop index idx_user_ro_age_sta on tb_user; #执行分组操作,根据profession字段分组 explain select professi
阅读全文
摘要:MySQL之order by优化 .Using filesort:通过表的索引或全表扫描,读取满足条件的数据行,然后在排序缓冲区sort buffer中完成排序操作,所有不是通过索引直接返回排序结果的排序都叫 FileSot 排序。 Using index:通过有序索引顺序扫描直接返回有序数据,这种
阅读全文
摘要:MySQL之主键优化 页分裂 页可以为空,也可以填充一半,也可以填充100%。每个页包含了2-N行数据(如果一行数据多大,会行溢出),根据主键排列。 主键顺序插入: 主键乱序插入: 先找应该插的一页,将该页从中间分开,插入到后面的新页。 然后改变页面指向顺序 这个就叫做页分裂 页合并 当删除一行记录
阅读全文
摘要:MySQL之插入优化 insert优化 原批量插入: insert into tb_test values(1,'tom'); insert into tb_test values(2,'cat'); insert into tb_test values(3,'jerry'); 改批量插入: ins
阅读全文
摘要:MySQL之索引使用与失效情况 索引使用 验证索引效率 在未建立索引之前,执行如下SQL语句,查看SQL的耗时。 SELECT * FROM tb_sku WHERE sn ="100000003145001'; 针对字段创建索引 create index idx_sku_sn on tb sku(
阅读全文
摘要:MySQL之sql性能分析 sql性能分析 慢查询日志 慢查询日志记录了所有执行时间超过指定参数(long_query_time,单位: 秒,默认10秒)的所有SQL语句的日志 MySOL的慢查询日志默认没有开启,需要在MvSOL的配置文件 (/etc/my.cnf)中配置如下信息: #查询slow
阅读全文
摘要:MySQL之索引 索引结构 MySQL的索引是在存储引擎层实现的,不同的存储引擎有不同的结构,主要包含以下几种: 索引结构 描述 B+Tree索引 最常见的索引类型,大部分引擎都支持 B+ 树索引 Hash索引 底层数据结构是用哈希表实现的, 只有精确匹配索引列的查询才有效不支持范围查询 R-tre
阅读全文
摘要:MySQL之事务 事务操作 开启事务 start transaction 或 begin; 提交事务 commit; 回滚事务 rollback; 经典案例之转账操作 select @@autocommit; set @@autocommit = 0; --设置为手动提交,此时执行完语句必须要执
阅读全文
摘要:多表查询 内连接 隐式内连接 查询每一个员工的姓名 , 及关联的部门的名称(隐式内连接实现) 表结构: emp ,dept 连接条件: emp.dept_id = dept.id select emp,name , dept,name from emp , dept where emp.dept_i
阅读全文
摘要:SQL SQL通用语法 SQL语句可以单行或多行书写,以分号结尾。 SQL语句可以使用空格/缩进来增强语句可读性。 MySQL数据库的SQL语句不区分大小写,关键字建议使用大写。 注释 单行注释:--注释内容或者#注释内容(MySQL特有) 多行注释:/* 注释内容 */ DDL-数据库操作 查询
阅读全文