高性能MySql
阅读高性能MySql笔记
LLigj_supper
keep running
展开
-
《高性能MySql》一.MYSQL架构和历史
MYSQL逻辑架构 1.Mysql架构图 并发控制 1.读写锁 (1)共享锁 和 排他锁 ,也叫读锁 和 写锁 (2)写锁是排他的,也就是说一个写锁会阻塞其他的写锁和读锁,这是出于安全策略的考虑。 2.锁粒度 (1)一种提高共享资源并发性的方式就是让锁定的对象更有选择性。尽量只锁定需要修改的部分数据,而不是所有的资源。锁定的数据量越少,则系统的并发程度越高 (2)所...原创 2018-12-30 16:56:17 · 134 阅读 · 0 评论 -
《高性能MySql》二.
基准测试 1.基准测试可以观察系统在不同压力下的行为,可以在系统实际负载之外创造一些虚构场景进行测试。 2.集成式测试工具 (1)ab : HTTP服务器基准测试工具。测试HTTP服务器每秒最多可以处理多少请求。只能针对单个URL进行尽可能的压力测试。 性能优化 1.性能即响应时间 2. Performance Schema 用于监视MySQL服务器,且运行时消耗很...原创 2018-12-30 16:57:07 · 66 阅读 · 0 评论 -
《高性能MySql》四.Schema与数据类型优化
选择优化的类型 1.尽量使用可以正确存储数据的最小数据类型 2.简单数据类型的操作通常需要更少的CPU周期,例如:整型比字符操作代价更低,因为字符需要校验。应该使用mysql内建的类型而不是字符串来存储日期和时间。 3.TIMESTAMP只使用DATETIME一半的存储空间,并且会根据时区变化,具有特殊的自动更新能力。TIMESTAMP允许的时间范围要小得多。 4.整数类...原创 2018-12-30 16:58:57 · 93 阅读 · 0 评论 -
《高性能MySql》五.创建高性能索引
索引基础 1.存储引擎用类似的方法使用索引,其先在索引中找到对应值,然后根据匹配的索引记录找到对应的数据行。 2.mysql只能高效地使用索引的最左前缀列。创建一个包含两个列的索引,和创建两个只包含一列的索引是大不相同。 3.索引的类型 (1)索引是在存储引擎层而不是服务器层实现的。不同存储引擎的索引工作方式并不一样的。底层的实现也可能不同。 (2)B-Tree索引 如果没有指明类型,...原创 2018-12-30 17:03:54 · 69 阅读 · 0 评论 -
《高性能MySql》六.查询性能优化
1.为什么查询速度会慢 2.慢查询基础:优化数据访问 1.查询性能低下最基本的原因是访问的数据太多,大部分性能低下的查询都可以通过减少访问的数据量的方式进行优化。 2.是否向数据库请求了不需要的数据,有些查询会请求实际需要的数据,然后这些多余的数据被应用程序 (1)查询不需要的数据:常常会误以为MySql会只返回需要的数据,实际上MySql却是先返回全部结果集再进行计算 ...原创 2019-01-02 16:54:29 · 127 阅读 · 0 评论