美文网首页SQL极简教程 · MySQL · MyBatis · JPA 技术笔记 教程 总结MySQLPHP实战
这些Mysql基础设计思路以及优化思路我都给你总结好了

这些Mysql基础设计思路以及优化思路我都给你总结好了

作者: 思梦PHP | 来源:发表于2018-09-26 21:24 被阅读22次

1、定长和不定长要区分开

2、不常用的列和常用的列分开存

3、增加冗余,反范式化

4、btree索引,就是用树形结构存储在磁盘上,其中操作是用2分发,找一个中间点,然后把大比这个大的分在一边,小的放在一边,然后当你查询的时候,从数字头开始,大小分开找,这个适合区间查找,不适合一个一个找

5、hash索引,就是当你存储在硬盘的数据,先给你一个地址,然后你下次来找的时候直接用那个地址找到那个值,这个适合一个值的查找,不适合区间查询,比如where id=1这种

6、(1)limit 的优化,能用业务逻辑解决的就用业务逻辑解决(比如百度的搜索只是显示76页)

(2)往索引上靠,比如id>1100这种,你用到了id的hash主键索引(默认)

(3)inner join

7、数据库的索引都是以二叉树进行储存的,聚簇索引其实就是树的节点下面包含了这个节点的其他数据项,但是非聚簇索引只是一个标记,然后还要回行到磁盘去找到相应的数据项值,还要聚簇索引的二级索引只是一种引用,也就是二级索引下面存储的是一级索引的id,然后二级索引通过id去树上找到相应的数据项。

非聚簇索引比如myisam存储引擎,索引和数据是存在不同的地方。找找到索引然后再找到数据.

聚簇索引就是那个存储数据的节点,及包含索引,然后在索引下面还存有它相应的其他数据---innodb

8、索引会占据很大的磁盘空间,然后数据的变更也会操作索引

9、组合索引的核心思想是左半边原则,当你的最后一个条件产生like这种之后就会导致后面的用不到

select * from test where id = 1 and name = "aa" and text like "%sss" and desc = "1";

就会导致你后面的desc就用不到了索引

10、hash的思想是跳出时间和空间复杂度,但是它需要一个散列度好的函数,空隙正好,然后还不能冲突

11、innodb即使你插入的数据是乱序的,但是你查出来之后还是整理好的顺序,因为它可以按照数的索引依次返回数据,这也是聚蔟索引的一个优势

固态硬盘支持随机读取,而不用像传统磁盘那样按照顺序转圈的读取

相关文章

  • 这些Mysql基础设计思路以及优化思路我都给你总结好了

    1、定长和不定长要区分开 2、不常用的列和常用的列分开存 3、增加冗余,反范式化 4、btree索引,就是用树形结...

  • mysql优化思路总结

    1.优化的目的2.如何定位问题sql,使用什么工具3.如何sql层面优化4.如何应用层层面优化 explain 命...

  • 转载:史上更全的 MySQL 高性能优化实战总结!

    转载:史上更全的 MySQL 高性能优化实战总结! 1 前言 2 优化的哲学 3 优化思路 3.1 优化什么 3....

  • MySQL——优化思路

    Q:为什么人家问你MySQL优化知识,你总是没有底气?A:因为你只能回答一些大而化之的调优原则。 比如建立联合索引...

  • mysql优化思路

    作者:哈哈链接:https://www.zhihu.com/question/19719997/answer/81...

  • mysql数据优化思路

    后台开发,不了解一丢丢数据库怎么能行。少不了得了解一点优化知识吧,要不别人嫌你的慢的要死怎么办。至少得找到能够下手...

  • MySql性能优化思路

    mySQL 性能优化 1 连接 Connections 经常会遇见”mysql: error 1040: too ...

  • mysql 性能优化思路

    为什么要性能优化,因为会带来一些负面影响,影响网站或应用的使用体验 优化的目的是降低响应时间。 理解的性能优化也是...

  • SQL执行与优化

    SQL优化 执行计划,表关联查询顺序,优化策略与思路 MYSQL执行过程 一、MySQL架构总览: 二、查询执行流...

  • mysql优化

    mac下开启数据库:每次启动都是找了半天,这次记录下:启动mysql数据库mycat学习分享mycat学习总结优化思路

网友评论

    本文标题:这些Mysql基础设计思路以及优化思路我都给你总结好了

    本文链接:https://www.haomeiwen.com/subject/llojoftx.html