随笔分类 - MySQL
摘要:优化数据库结构 将字段很多的表分解成多个表 建立中间表 索引不起作用的情况 在使用like时,如果第一个匹配字符是%,则不会用到索引。 在使用复合索引时,如果没用到第一个字段,则不会用到该复合索引。 分解关联查询:减少表连接时消耗的时间。 limit优化:当偏移量过大时,会浪费很多性能,因此先通过索
阅读全文
摘要:最左前缀匹配原则 在MySQL的复合索引中,会从左向右进行匹配,当遇到范围查询(>, <, between, like),则会停止匹配,因此涉及到范围查询的字段应放在最后。 在写具体的查询条件时,可以乱序,MySQL会自动优化成索引可以识别的顺序。 建索引的原则 最左前缀匹配原则。 索引字段区分度要
阅读全文
摘要:MySQL不支持锁升级,要一次获取所有需要的锁。 表锁 MyISAM中的表锁。写请求比读请求优先级高。 表共享读锁(Table Read Lock):lock tables xxx read local 表独占写锁(Table Write Lock):lock tables xxx write co
阅读全文
摘要:1.InnoDB支持事物,MyISAM不支持事务。 2.InnoDB支持外键,MyISAM不支持外键。 3.InnoDB最细粒度锁是行锁,MyISAM是表锁。 4.InnoDB是聚簇索引,MyISAM是非聚簇索引。 聚簇索引将文件保存在叶子节点上,非聚簇索引数据和文件分离,将指针保存在叶子节点上。
阅读全文
摘要:表结构 员工表: 部门表: 薪水等级表: 练习题目 1.统计各部门员工数量 显示部门名称 思路:在连接两张表时,为了保证即便没有员工,部门也一定显示,因此用部门表左外连接员工表(或者员工表右外连接部门表)。 select dept.deptno, dname, count(empno) as cou
阅读全文
摘要:范式 范式可以理解为是一张数据表的表结构所符合的某种设计标准的级别。 目前关系型数据库有六范式:1NF(第一范式)、2NF(第二范式)、3NF(第三范式)、BCNF(巴斯-科德范式)、4NF(第四范式)、5NF(第五范式,又称完美范式)。 常用的是前三种:1NF,2NF 和 3NF,也就是“三范式”
阅读全文

浙公网安备 33010602011771号