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