1.索引的优点 索引可以让服务器快速地定位到表的指定位置.总结下来有三大优点: 索引大大减少了服务器需要扫描的数据量 索引可以帮助服务器避免排序和临时表 索引可以将随机I/O变为顺序I/O 2.高性能的索引策略 独立的列 我们通常会看到一些查询不当地使用索引,或者使得Mysql无法使用已有的索引,比如: SELECT ID FROM B WHERE ID + = ; Mysql无法解析这个方程式,我们应该养成简化where条件的习惯,下面是另一个常见错误: SELECT A FROM B TO_…
1.概念: 覆盖索引:(个人理解)就是包含所有查询记录的索引.当查询量过大时可以采用覆盖索引来进行查询,效率较高. 回表:建立覆盖索引就是避免回表,回表效率会很慢. select查询的字段只有索引列,那么就直接可以从索引表中获取,但是如果select子句中有其他的非索引列,索引就需要到原表中找到相应的列的信息,这就叫回表. 全文索引:解决“关键词搜索”的问题,例如知网搜索文章都是设置关键词来搜索,如果用以往的方法来查询,select * from where like %等这种模糊查询,这种查询…
DDL操作数据库.表 操作数据库:CRUD C(Create):创建 创建数据库: create database 数据库名称; 创建数据库,判断不存在,再创建: create database if not exists 数据库名称; 创建数据库,并指定字符集 create database 数据库名称 character set 字符集名; 练习: 创建db4数据库,判断是否存在,并制定字符集为gbk create database if not exists db4 character s…
索引性能验证 1.无索引列的查询 在where条件中查询没有添加索引的列,性能会比较差.我们可以先在sqlyog中打开表t_user的数据,然后复制一个名字出来进行查询. /*无索引列的查询,索引不会命中*/ SELECT * FROM t_user WHERE NAME = 'ZYWMUoLMAu'; 上面的SQL执行时间大约在0.4秒左右,耗时较长. 2.主键列查询 主键默认是唯一索引,我们可以尝试进行查找一条记录. /*主键列查询,索引会命中*/ SELECT * FROM t_user…
笔记记录自林晓斌(丁奇)老师的<MySQL实战45讲> 5) --深入浅出索引(下) 这次的笔记从一个简单的查询开始: 建表语句是这样的 mysql> create table T ( ID int primary key, k , s ) NOT NULL DEFAULT '', index k(k)) engine=InnoDB; ,, ,,,,,,,,,,'gg'); 如果要执行 select * from T where k between 3 and 5这条语句,需要执行几次搜…
知识点七:MySQL视图的创建(14) 视图的定义: 什么是视图: 视图数由查询结果形成的一张虚拟的表. 什么时候要用到视图? 如果某个查询结果出现的非常频繁,也就是,要经常拿这个查询结果来做子查询. 使用视图的好处: 1.简化查询语句: 案例:比如求每个人的平均工资. --简化查询语句 use mzjj; CREATE OR REPLACE VIEW v_salaries AS ) AS salary FROM employees LEFT JOIN salaries ON employees…