- 1、本文档共52页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Mysql优化学习内容存储引擎列类型选择什么是索引索引类型索引的操作索引场景、使用原则优化概述存储层(数据): 存储引擎、列类型、范式规范设计层(单台服务器): 索引、缓存、分区架构层(多台服务器): 读写分离(主从复制)sql语句层: 更合适的sql语句存储引擎什么是存储引擎MySQL中的数据是通过各种不同的技术(格式)存储在文件(或者内存)中的。技术和本身的特性就称为存储引擎。每一种技术都使用不同的存储机制、索引技巧、锁定水平并且最终提供广泛的不同的功能和能力。通过选择不同的技术,你能够获得额外的速度或者功能,从而改善你的应用的整体功能存储引擎Innodb① 结构、数据、索引的物理空间 show variables like innodb_file_per_table; set global innodb_file_per_table=1;② 数据主键顺序存储③ 功能:事务、外键④ 并发性:擅长并发存储引擎Myisam① 结构、数据、索引的物理空间② 数据存储顺序③ 功能:压缩机制④ 并发性:表级锁(并发写入)存储引擎Myisam压缩处理 myisampack tablename 压缩 flush table 表名 myisamchk –unpack tablename 解压 myisamchk –rq tablename 重新生成索引 重启终端窗开flush table 表名;刷新数据表注意:压缩的数据表只读,可以解压实现数据写入,完毕再压缩/重建索引。 flush table 表名 把修改后的结果同步给磁盘存储引擎Memory数据置于内存的存储引擎,拥有极高的插入,更新和查询效率。但是会占用和数据量成正比的内存空间。并且其内容会在Mysql重新启动时丢失Archive归档存储引擎,只支持数据的查询和写入。经常用于存储日志等相关信息。存储引擎如何选择大量写入、读取就选择Myisam,例如discuz、dedecms、phpcms等数据逻辑要求较高的,例如销售、财务等系统,就选择innodb字段类型选择尽可能小地占空间int(tinyint,smallint,mediumint,int,bigint)date(datetime,date,time,year,timestamp)字段类型选择尽可能固定长度char()和varchar() char(255字符 ),varchar(65535字节) ,如果是UTF则最大65535/3 - 1个字符,因为要预留空间存放该字段的字符数目)字段类型选择尽可能使用整数Set: 集合多选 set(语文, 英语, 物理)Enum: 枚举单选 enum(男, 女, 保密);时间信息通过时间戳表示:unix_timestamp() 当前时间戳信息from_unixtime() 读取一个时间戳信息字段类型选择尽可能使用整数ip地址通过整型保存mysql: inet_aton() inet_ntoa()php: ip2long() long2ip()索引什么是索引索引是把字段A的内容储存在一个独立区间S里,里面只有这个字段的内容和其对应的物理地址。在找查与这个字段A相关的内容时会直接从这个独立区间里查找,而不是去到数据表里查找。该查找速度非常快,因为索引内部有排序算法。找到的符合条件的字段后再读取字段A所指向真实的数据记录的物理地址,再把对应的数据内容输出。 如果你查找的不是索引的字段那么他会从数据表里面查找。数据表有很多不相关的字段,数据库程序是不会省略查找的。要判断那些不相关的字段以及多次在记录中跳转是要花费一定的资源的。 索引就像一本书的目录,例如:你想看一本书的第20章,你会先查看目录中第20章所处的页数,然即时翻到第20章所处的页数,而不用一页一页翻过去,索引相当于目录功能,助你快速查询索引索引在现实生活中的体现索引索引类型 ① 主键(primary key) 关键字不重复,不能为null ② 唯一 关键字不重复 ③ 普通 ④ 全文 Myisam支持,针对char、varchar、text起作用 复合索引 一个索引对应多个字段索引创建 创建表同时设置索引: create table 表名( 字段~~~~~~~~~ primary key (id), unique index 名字(字段), index 名字(字段), index 名字(字段,字段), --复合索引 fulltext index 名字(字段); )索引创建 修改表并设置索引: alter table 表名 add primary key (id), add unique index 名字(字段), add index 名字(字段), a
文档评论(0)