随笔分类 -  MySQL

摘要:哈希映射压缩和冲突 hash算法有两个基本特点:可重复和不可逆。即不同的原文理论上有可能得到相同的hash值;也正是因为如此,从hash值反推出原文是不可能的。引用一段百度百科 所有散列函数都有如下一个基本特性:如果两个散列值是不相同的(根据同一函数),那么这两个散列值的原始输入也是不相同的。这个特 阅读全文
posted @ 2021-04-26 16:46 juicejuice 阅读(566) 评论(0) 推荐(0)
摘要:Hash索引 在MySQL中,索引是存储在引擎层而不是服务器层实现的,所以,并没有统一的索引标准。即使多个存储引擎支持同一种类型的索引,那么他们的实现原理也是不同的。Innodb和MyISAM默认的索引是Btree索引;而Mermory默认的索引是Hash索引。 索引 / 存储引擎 MyISAM I 阅读全文
posted @ 2021-04-26 16:26 juicejuice 阅读(4036) 评论(3) 推荐(1)
摘要:一.一个复杂查询还是多个简单查询 设计查询的时候一个需要考虑的重要问题是,是否需要将一个复杂的查询分成多个简单的查询。 MySQL从设计上让连接和断开连接都很轻量级,在返回一个小的查询结果方面很高效。运行多个小查询不是问题 MySQL内部每秒能够扫描内存中上百万行数据,相比之下,MySQL相应数据给 阅读全文
posted @ 2021-04-16 18:05 juicejuice 阅读(142) 评论(0) 推荐(0)
摘要:一. 数据切分 关系型数据库本身比较容易成为系统瓶颈,单机存储容量、连接数、处理能力都有限。当单表的数据量达到1000W或100G以后,由于查询维度较多,即使添加从库、优化索引,做很多操作时性能仍下降严重。此时就要考虑对其进行切分了,切分的目的就在于减少数据库的负担,缩短查询时间。 数据库分布式核心 阅读全文
posted @ 2021-04-15 15:32 juicejuice 阅读(454) 评论(0) 推荐(0)
摘要:简述 有时提升性能最好的方法是在同一张表中保存衍生的冗余数据。然而,有时也需要创建一张完全独立的汇总表或缓存表。 缓存表和汇总表与冗余的列有异曲同工之妙,只不过实现在单独的表中。 缓存表中存储与其它的表逻辑冗余的数据,将大表中活跃的数据单独拿出来构建成一张小表,通过减少单个表的数据量来提高查询性能, 阅读全文
posted @ 2021-04-15 13:02 juicejuice 阅读(521) 评论(0) 推荐(0)
摘要:范式 :英文名称是 Normal Form,它是英国人 E.F.Codd(关系数据库的老祖宗)在上个世纪70年代提出关系数据库模型后总结出来的,范式是关系数据库理论的基础,也是我们在设计数据库结构过程 中所要遵循的规则和指导方法。 数据库的设计范式是数据库设计所需要满足的规范。只有理解数据库的设计范 阅读全文
posted @ 2021-04-15 11:08 juicejuice 阅读(282) 评论(0) 推荐(0)
摘要:为什么查询速度会慢 1.是否像数据库请求了不需要的数据 一些常见的事例 查询不必要的记录:比如我们在网站取出10条记录,习惯于先取出大量的记录,再返回前10条结果。有些人会认为MySQL会执行查询,并在返回10条记录后停止查询。 实际情况是,MySQL会查询出全部的结果集,客户端的应用程序会接收全部 阅读全文
posted @ 2021-04-14 15:36 juicejuice 阅读(146) 评论(0) 推荐(0)