社区
数据结构与算法
帖子详情
寻找一种适合内存数据的索引算法
lazycatwang
2003-10-24 02:23:06
现在在预研一个算法,当将数据库中数据加载到内存中后(存放在一个大数组中),由于
没有对改内存数据做索引,导致数据处理速度比较慢,先在想研究一种适合这种内存数据的索引算法,有知道的请指教,谢谢!
联系方式:
qq:67820643
e-mail:zkye@163.com
...全文
17
回复
打赏
收藏
寻找一种适合内存数据的索引算法
现在在预研一个算法,当将数据库中数据加载到内存中后(存放在一个大数组中),由于 没有对改内存数据做索引,导致数据处理速度比较慢,先在想研究一种适合这种内存数据的索引算法,有知道的请指教,谢谢! 联系方式: qq:67820643 e-mail:zkye@163.com
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
MySQL
索引
算法
——哈希
算法
哈希
索引
哈希
索引
(hash index)基于哈希表实现,只有精确匹配
索引
所有列的查询才有效。对于每一行
数据
,存储引擎都会对所有的
索引
列计算一个哈希码(hash code), 哈希码是一个较小的值,并且不同键值的行计算出来的哈希码也不一样。哈希
索引
将所有的哈希码存储在
索引
中,同时在哈希表中保存指向每个
数据
行的指针。 在MySQL中,只有Memory引擎显式支持哈希
索引
。这也是Memory引擎...
Mysql
索引
算法
一、
数据
结构及
算法
理论 Innodb存储引擎实现
索引
的
数据
结构是B+树,下面介绍几种
数据
结构,一步步阐述为什么要使用B+树 1.1 B+树
索引
的构造类似于二叉树,根据键值快速找到
数据
。但是B+树种的B不是代表二叉,而是代表平衡。注意:B+树
索引
能找到的只是被查找
数据
行所在的页。然后
数据
库通过把页读入
内存
,再在
内存
中进行查找,最后查到
数据
。 下面介绍二分查找
海量
数据
的常见处理
算法
海量
数据
的处理
算法
海量
数据
处理,就是基于海量
数据
上的存储、处理、操作。 海量就是
数据
量太大,所以导致要么是无法在较短时间内迅速解决,要么是无法一次性装入
内存
。 解决办法: (1)针对时间,可以采用巧妙的
算法
搭配合适的
数据
结构,如Hash/bitmap/堆/倒排
索引
/trie树; (2)针对空间,大而化小:分而治之/hash映射,把规模大化为规模小的,各个击破。 一、海量
数据
中的最值问题: 1、海量日志
数据
,提取出某日访问百度次数最多的那个IP。 思路:分而治之/hash映射 + hash统计 + 堆
数据
库
索引
1.1、
索引
概述:MySQL官方对
索引
的定义:
索引
(index)是帮助MySQL高效获取
数据
的
数据
结构(有效),在
数据
之外,
数据
库系统还维护着满足特定查找
算法
的
数据
结构,这些
数据
结构以某种方式引用(指向)
数据
, 这样就可以在这些
数据
结构上实现高级查找
算法
,这种
数据
结构就是
索引
。简而言之:帮助MySQL高效的查询出
数据
的
数据
结构叫做
索引
。 一般来说,
索引
本身也很大,不可能全部都存储在
内存
中,因此
索引
一般都是以
索引
文件的形式存储在磁盘上。
索引
是
数据
库用来提高性能最好的方式。 1.2、
索引
优劣势 优势:
索引
【
数据
结构】八个常用查找
算法
最基础的遍历无序列表的查找
算法
顺序查找又称为线性查找,是一种最简单的查找方法。适用于线性表的顺序存储结构和链式存储结构。该
算法
的时间复杂度为O(n)二分查找(Binary Search),是一种在有序数组中查找某一特定元素的查找
算法
。查找过程从数组的中间元素开始,如果中间元素正好是要查找的元素,则查找过程结束;如果某一特定元素大于或者小于中间元素,则在数组大于或小于中间元素的那一半中查找,而且跟开始一样从中间元素开始比较。如果在某一步骤数组为空,则代表找不到。
数据结构与算法
33,010
社区成员
35,327
社区内容
发帖
与我相关
我的任务
数据结构与算法
数据结构与算法相关内容讨论专区
复制链接
扫一扫
分享
社区描述
数据结构与算法相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章