有10000个元素,让你放数据库!
存(数组、链表)------10000个链表 复杂度O(n)-----分而治之 4*2500条变成O(4)左右,但不会提高性能。所以结合一下哈希表、索引等,大大优化性能。
分治---这个思想太重要了,Redis代理集群、Nginx反向代理负载均衡等等、Netty中的线程池。
磁盘寻址:ms级别
内存寻址:nm级别 内存处理比磁盘处理快一万倍。
1,为啥文件体积慢慢变大,查询速度越来越慢?
答:全量IO,流变大?
2,索引也是数据,但是全量遍历索引也比全量遍历表数据强。
老式的MySQL:对索引排序,组织成树结构!B、B+、红黑。树干树枝放内存,叶子放在磁盘(索引)真实数据和叶子有个指向。
3,如果你的表越来越大,是不是CRUD就慢了?
答:这事儿,得看场景。比如CRUD就是读和写,查是读其他的写。那么增删改一定变慢,设计数据排序索引调度等。但是读-查询,如果数据库只有一个客户端的一个连接,where过滤查询并且命中了索引,那么反应速度也是ms级别的。
那么啥时候查询也会变慢?高并发场景!受制于磁盘带宽吞吐。
数组在磁盘很大ÿ