# 索引
# 认识mysql中的key
# index key 普通索引,能够加速查询,辅助索引
# unique key 唯一 + 索引,辅助索引
# primary key 唯一 + 非空 + 聚集索引
# 主键作为条件的查询如果能够让索引生效那么效率总是更高
# foreign key 本身没有索引的,但是它关联的外表中的字段是unique索引
# primary key 和unique 标识的字段不需要再添加索引
# 直接就可以利用索引加速查询
# 能用unique的时候尽量不用index
# unique除了是索引之外还能做唯一约束,如果做了唯一约束
# b+树就更健康
# 正确的使用索引
# 创建索引 creeat index 索引名 on 表名(字段名)
# 删除索引 drop index 索引名 on 表名 # 1.条件一定是建立了索引的字段,如果条件使用的字段根本就没有创建索引,那么索引不生效
# 2.如果条件是一个范围,随着范围的值逐渐增大,那么索引能发挥的作用也越小
# 3.如果使用like进行模糊查询,那么使用a%的形式能命中索引,%a形式不能命中索引
# 4.尽量选择区分度高的字段作为索引列
# 5.索引列不能在条件中参与计算,也不能使用函数
# 6.在多个条件以and相连的时候,会优点选择区分度高的索引列来进行查询
# 在多个条件以or相连的时候,就是从左到右依次判断
# 7.制作联合索引
# 1.最左前缀原则 a,b,c,d 条件是a的能命中索引,条件是a,b能命中索引,a,b,c能命中,a,c.... 只要没有a就不能命中索引
# 如果在联合查询中,总是涉及到同一个字段,那么就在建立联合索引的时候将这个字段放在最左侧
# 2.联合索引 如果按照定义顺序,从左到右遇到的第一个在条件中以范围为条件的字段,索引失效
# 尽量将带着范围查询的字段,定义在联合索引的最后面
# drop index
# 如果我们查询的条件总是多个列合在一起查,那么就建立联合索引
# create index ind_mix on s1(id,email) # select * from s1 where id = 1000000 命中索引
# select * from s1 where email = 'eva1000000@oldboy' 未命中索引
# 但凡是创建了联合索引,那么在查询的时候,再创建顺序中从左到右的第一列必须出现在条件中
# select count(*) from s1 where id = 1000000 and email = 'eva10%'; 命中索引 # select count(*) from s1 where id = 1000000 and email like 'eva10%'; 可以命中索引
# 范围 :
# select * from s1 where id >3000 and email = 'eva300000@oldboy'; 不能命中索引
# 8.条件中涉及的字段的值必须和定义表中字段的数据类型一致,否则不能命中索引 # 关于索引的两个名词
# 覆盖索引 查一个数据不需要回表
# select name from 表 where age = 20 不是覆盖索引
# select age from 表 where age =20 是覆盖索引
# select count(age) from 表 where age =20 是覆盖索引
# 合并索引
# 当我们为单独的一列创建索引的时候
# 如果条件是这一列,且使用正确就可以命中索引
# 当我们为两列分别创建单独的索引的时候
# 如果这两列都是条件,那么可能只能命中期中一个条件
# 如果这两列都是条件,那么可能会命中两个索引 - 合并索引
# 我们为多列直接创建联合所以
# 条件命中联合索引 # 执行计划
# 看看mysql准备怎么执行这条语句 可以看到是否命中索引,计划能命中哪些,实际命中了哪些,执行的顺序,是否发生了索引合并,覆盖索引
# explain select * from s1; # 数据库部分的拾遗
# pymysql
# 数据库备份和还原
# 使用事务和锁的方式来保证数据安全

python学习第41天的更多相关文章

  1. Python 学习小结

    python 学习小结 python 简明教程 1.python 文件 #!/etc/bin/python #coding=utf-8 2.main()函数 if __name__ == '__mai ...

  2. python学习之“切片操作从入门到精通”

    在python学习开发的过程中,我们总是不断的要对List(列表),Tuple(元组)有取值操作:假如我们有一个列表List1现在想取出1其中的前5个元素,改怎么操作呢? >>> L ...

  3. Python:Python学习总结

    Python:Python学习总结 背景 PHP的$和->让人输入的手疼(PHP确实非常简洁和强大,适合WEB编程),Ruby的#.@.@@也好不到哪里(OO人员最该学习的一门语言). Pyth ...

  4. python学习博客地址集合。。。

    python学习博客地址集合...   老师讲课博客目录 http://www.bootcdn.cn/bootstrap/  bootstrap cdn在线地址 http://www.cnblogs. ...

  5. Deep learning with Python 学习笔记(10)

    生成式深度学习 机器学习模型能够对图像.音乐和故事的统计潜在空间(latent space)进行学习,然后从这个空间中采样(sample),创造出与模型在训练数据中所见到的艺术作品具有相似特征的新作品 ...

  6. python学习之argparse模块

    python学习之argparse模块 一.简介: argparse是python用于解析命令行参数和选项的标准模块,用于代替已经过时的optparse模块.argparse模块的作用是用于解析命令行 ...

  7. Python学习-终端字体高亮显示1

    Python学习-终端字体高亮显示   1.采用原生转义字符序列,对Windows有的版本不支持(比如win7),完美支持Linux 实现过程: 终端的字符颜色是用转义序列控制的,是文本模式下的系统显 ...

  8. Python 学习参考书目推荐

    Python 学习,参考书目推荐 前言 好的技术书籍可以帮助我们快速地成长,大部分人或多或少地受益于经典的技术书籍.在「Python开发者」微信公号后台,我们经常能收到让帮忙推荐书籍的消息.这类的问题 ...

  9. Python学习 —— 阶段综合练习三

    Python学习 —— 阶段综合练习三 综合之前文件与文件夹操作的学习,做以下实例练习:(建议先不要看代码,自己先试着写:代码仅供参考,有多种实现方法) 1. 目录文件遍历(二层目录结构) 1).  ...

随机推荐

  1. tomcat cluster session同步时保存map数据遇到的问题

    Tomcat Cluster官网:https://tomcat.apache.org/tomcat-7.0-doc/cluster-howto.html(tomcat7.0) 场景: tomcat1 ...

  2. Android圆角矩形

    1.在drawable中创建shape_round文件 <?xml version="1.0" encoding="utf-8"?> <sha ...

  3. daemon_inetd函数

    #include <syslog.h> extern int daemon_proc; /* defined in error.c */ void daemon_inetd(const c ...

  4. 如何使用xss带cookie

    参考连接:https://pentesterlab.com/exercises/xss_and_mysql_file/course 打开测试网站: 然后在192.168.1.46机器上使用socat, ...

  5. 【U3d】Tiled2Unity 使用Tips

    Tiled编辑完地图后借Tiled2Unity导入Unity. 使用T2U时遇到点麻烦,打开T2U界面显示如下,注意上方黄底文字,需要在Tiled中添加命令行才能使用T2U. 在Tiled工具栏点击( ...

  6. tfs二次开发-利用tfs api做查询

    参考地址:https://msdn.microsoft.com/en-us/library/bb130306(v=vs.120).aspx You can query for bugs, tasks, ...

  7. svn 的truck、tag、 merge

    参考文章 :    https://blog.csdn.net/keda8997110/article/details/21813035

  8. php 调试的常用方法

    1. php 页面直接输出错误, 根据错误进行调试 2.无法通过php页面捕获到错误,通过查看apache2的日志错误进行排查,  像通过系统命令进行操作失败时,就需要日志进行查看

  9. L3-1 二叉搜索树的结构 (30 分)

    讲解的很不错的链接:https://blog.csdn.net/chudongfang2015/article/details/79446477#commentBox 题目链接:https://pin ...

  10. 转:MVC,MVP 和 MVVM 的图示

    MVC,MVP 和 MVVM 的图示 - 阮一峰的网络日志http://www.ruanyifeng.com/blog/2015/02/mvcmvp_mvvm.html 作者: 阮一峰 日期: 201 ...