mysql-笔记-命名、索引规范】的更多相关文章

1.前言 本章记录MySQL中的索引机制,了解索引可以让数据库更快.索引太多会造成性能损耗,索引太少肯定查询效率不高. 2.InnoDB存储引擎所有概述 InnoDB中常见的索引有: B+树索引 全文索引 哈希索引 哈希索引是自适应的,无法人为干预是否在一张表中生成hash索引. B+树不能找到一个给定键值的具体行,B+树索引能找到的只是被查找数据所在的页,通过将页读取到内存,再定位数据. 3.数据结构与算法 3.1 二分查找法 二分查找也就是折半查找,前提是有序,该算法算是一个基础算法了,思想…
1 命名规范 所有数据库对象名称必须使用小写字母并用下划线分割 禁止使用mysql保留关键字 ---如果表名中包含关键字查询时,需要将其有单引号括起来 见名识意,并且最后不要超过32个字符 临时库表以tmp_为前缀并以日期为后缀,备份表以bak_为前缀并以日期为后缀 所有存储相同数据的列名和列类型必须一致--一般作为关联列,如果查询时关联列类型不一致会自动进行数据类型隐式转换,会造成列上的索引失效,导致查询效率降低 2 数据库基本设计规范 没有特殊要求下,所有表必须使用innodb存储引擎--支…
[笔记]MySQL学习之索引 一 索引简单介绍 索引,是数据库中专门用于帮助用户快速查询数据的一种数据结构.类似于字典中的目录,查找字典内容时可以根据目录查找到数据的存放位置,然后直接获取即可. 普通索引:仅加速查询 唯一索引:加速查询 + 列值唯一(可以有null) 主键索引:加速查询 + 列值唯一 + 表中只有一个(不可以有null) 组合索引:多列值组成一个索引,专门用于组合搜索,其效率大于索引合并 全文索引:对文本的内容进行分词,进行搜索 索引合并:使用多个单列索引组合搜索 覆盖索引:s…
一.背景 前面我们讲了SQL分析和索引优化都涉及到了索引,那么什么是索引,它的模型有什么,实现的机制是什么,今天我们来好好讨论下. 二.索引的介绍 索引就相当书的目录,比如一本500页的书,如果你想快速找到其中的某一个知识点,在不借助目录的情况下,你得一点点慢慢的找,要找好一会儿.同样,对于数据库的表,而言,索引就是它的“目录”,提高了数据查询的效率. 比如要运行下面的查询: select first_name from actor where actor_id=5; 如果在actor_id列上…
索引(index),在MySQL中也被叫做键(key),是存储引擎用于快速找到记录的一种数据结构.索引优化是对查询性能优化最有效的手段.   5.1 索引基础   索引的类型   索引是在存储引擎层而不是服务器层实现的.所以,并没有统一的索引标准:   B-Tree 索引   不同的存储引擎以不同的方式使用B-Tree索引,性能也各有不同:例如,MyISAM使用前缀压缩技术使得索引更小,而InnoDB则按照原数据格式进行存储.再如MyISAM索引通过数据的物理位置引用被索引的行,而InooDB则…
创建高性能的索引 1. 索引(在MySQL中也叫做"键(key)")是存储引擎用于快速找到记录的一种数据结构. 2. 索引可以包含一个或多个列的值.如果索引包含多个列,那么列的顺序也十分重要,因为MySQL只能高效低使用索引的最左前缀列. 3. B-Tree索引:当人们谈论索引的时候,如果没有特别执行索引类型,那多半说是B-Tree索引,它使用B-Tree数据结构来存储数据.     1). 可以使用B-Tree索引的查询类型:          a. 全职匹配:全值匹配指的是和索引中…
一.概述 1.基本概念       在大型数据库中,一张表中要容纳几万.几十万,甚至几百万的的数据,而当这些表与其他表连接后,所得到的新的数据数目更是要大大超出原来的表.当用户检索这么大量的数据时,经常会感觉慢.这个时候要提高数据库的检索性能,就必须要用到索引.给表追加合适的索引能极大的改善数据检索的效率,提供数据库性能.      索引是在存储引擎中实现的,因此每种存储引擎的索引都不一定完全相同,而且每种存储引擎也不一定支持所有的索引类型.      所有存储引擎支持每个表至多16个索引,总索…
Mysql语句优化--索引 一.开始优化前的准备 一)explain语句 当MySql要执行一个查询语句的时候,它首先会对语句进行语法检查,然后生成一个QEP(Query Execution Plan) QEP决定了MySql从底层存储引擎获取信息的方式. 语法:explain [extended | partitions] select ...... 或者:explain tableName (此时相当与desc语句) explain select * from artist where na…
写在前面 想要做好后台开发,终究是绕不过索引这一关的.先问自己一个问题,InnoDB为什么选择B+树作为默认索引结构.本文主要参考MySQL索引背后的数据结构及算法原理和剖析Mysql的InnoDB索引. 索引 当数据量到达一定规模时,我们通常会对经常使用的字段建立索引,来加快数据的查询.首先需要强调的是索引的本质是数据结构,前辈们经过不断完善得到了几种复杂度较低并且能够降低磁盘IO的数据结构,这里要说的是B树与B+树,他们被广泛应用在文件系统与数据库系统中. B-Tree   B树逻辑上是一颗…
mysql笔记整理 作者:python技术人 博客:https://www.cnblogs.com/lpdeboke Windows服务 -- 启动MySQL net start mysql -- 创建Windows服务 sc create mysql binPath= mysqld_bin_path(注意:等号与值之间有空格) 连接与断开服务器 mysql -h 地址 -P 端口 -u 用户名 -p 密码 show processlist -- 显示哪些线程正在运行 show variable…