既有ssd又有hdd是将数据存储到ssd还是将索引存储到ssd的效率更高呢?
一种说法是索引是随机扫描,将索引放入ssd效率会增高,
一种说法是将数据放入ssd效率更高
 
最好的情况是将数据和索引都放到ssd,效率可以提高5-6倍。
为什么在ssd上面放置索引效率没有ssd存表效率高呢?
1.索引通常比表小,因此更容易将索引存储到内存,内存中效率很高。
2.所以级别(在btree中)的页面通常很热(hot),因此保留在内存中
3.当扫描索引时,很多实际的io本质上是顺序的(特别是对于叶子节点)
这样做的结果是,针对索引的I/O的惊人数量要么根本不会发生(由于缓存),要么是顺序的。另一方面,索引是表上随机I/O的一个很好的来源
 
 
当然,这仅仅是一个简单的例子,例如,对于截然不同的工作负载,结论可能会有所不同。同样,由于SSD更昂贵,系统往往在硬盘驱动器上拥有的磁盘空间比在SSD驱动器上更多,因此在索引时,表可能无法容纳在SSD上。在这些情况下,需要更精细的放置 - 例如,不仅要考虑对象的类型,还要考虑它的使用频率(并且只将大量使用的表移动到SSD),甚至是表的子集(例如通过逐渐移动旧的从SSD到HDD的数据)。
最好的情况是将数据和索引都放到ssd,效率可以提高5-6倍。
如果磁盘不是很充足,内存也不是很充足,那么索引可能就不能热加载到内存,这个时候索引放ssd的优势就体现出来了。
 
 

最新文章

  1. Spark 开发中遇到的一些问题
  2. 揭开Java IO流中的flush()的神秘面纱
  3. redis集群同步迁移方法(一):通过redis replication实现
  4. datatable动态添加,及填充数据
  5. jquery之wrap(),wrap(),unwrap()方法详解
  6. linux nginx安装(转载)
  7. 易维清使用技巧:CHM编辑利器
  8. A swift Tour(2) Control Flow
  9. strnclmp和strlen函数的用法
  10. VC实现图片拖拽及动画
  11. Asp.Netserver控件开发的Grid实现(三)列编辑器
  12. 关于Winform中的用户代理
  13. 【javascript】数组的操作
  14. daterangepicker 使用方法以及各种小bug修复
  15. 项目(1)----用户信息管理系统(5)---(剩余jsp界面)
  16. php实现栈操作(不用push pop 库函数)
  17. 最长公共前缀(python) leetcode答案
  18. [宏]__stringify
  19. MySQL实验准备(一)--环境准备
  20. ubuntu数据库迁移

热门文章

  1. tp5内置验证规则
  2. spring+springMVC+mybatis+maven+mysql环境搭建(一)
  3. Win7 VS2013环境使用cuda_7.5.18
  4. jquery checkbox反复调用attr('checked', true/false)只有第一次生效 Jquery 中 $('obj').attr('checked',true)失效的几种解决方案
  5. c# 文件笔记
  6. MongoDB常用命令总结
  7. Keil uVision4 for ARM 下增加支持C51,C5x
  8. 基于S2AFCM的子主题划分
  9. 2.3.1关键字volatile与死循环
  10. 51nod 1239 欧拉筛模板