既有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的优势就体现出来了。
 
 

postgresql-hdd,ssd,效率的更多相关文章

  1. PostgreSQL LIKE 查询效率提升实验<转>

    一.未做索引的查询效率 作为对比,先对未索引的查询做测试 EXPLAIN ANALYZE select * from gallery_map where author = '曹志耘'; QUERY P ...

  2. 见招拆招-PostgreSQL中文全文索引效率优化

    * { color: #3e3e3e } body { font-family: "Helvetica Neue", Helvetica, "Hiragino Sans ...

  3. HDD + HDD(SSD) 多硬盘系统启动问题

    一.问题描述 最近购一了款有预留msata接口的hp电脑,买回来开始折腾SSD和内存的问题,内存一次性就解决了:但SSD在安装过程中遇到三个问题,分别是: 无螺丝,无法固定固态硬盘(后在一个旧鼠标上弄 ...

  4. HDD ,SSD和PCIE SSD性能测试

      PCIE SSD   * MB/s = 1,000,000 bytes/s [SATA/600 = 600,000,000 bytes/s] * KB = 1000 bytes, KiB = 10 ...

  5. 固态硬盘SSD,机械硬盘HDD,4K速度对比。

    HDD - SSD -

  6. ceph SSD HDD分离与openstack调用

    本例子ceph L版本采用的是filestore,而不是bluestore. 一.查看class类型,只有一个hdd,.Luminous 为每个OSD添加了一个新的属性:设备类.默认情况下,OSD将根 ...

  7. 硬盘SSD、HDD和SSHD都是什么意思?哪种类型硬盘最好?

    硬盘分类:(1)HHD 机械硬盘(Mechanical hard disk)(2)SSD 固态硬盘(solid state drive/disk)(3)SSHD 混合硬盘,说白了就是HDD+SSD=S ...

  8. IT运维面试问题总结

    IT运维面试总结如下,后期更新于:https://www.yuque.com/docs/share/d3dd1e8e-6828-4da7-9e30-6a4f45c6fa8e. 欢迎基于学习.交流目的的 ...

  9. sqlite3数据库最大可以是多大?可以存放多少数据?读写性能怎么样?

    sqlite是款不错的数据库,使用方便,不需要事先安装软件,事先建表.很多人担心它的性能和数据存储量问题. 比如有的网友问:Sqlite数据库最大可以多大呀?会不会像acc数据库那样,几十MB就暴掉了 ...

随机推荐

  1. 前端之javascript的DOM对象和标签

    一 DOM对象介绍 什么是HTML DOM 1.1 HTML Document Object Model(文档对象模型) 1.2 HTML DOM 定义了访问和操作HTML文档的标准方法. 1.3 H ...

  2. 2018.11.18 bzoj2194: 快速傅立叶之二(fft)

    传送门 模板题. 将bbb序列反过来然后上fftfftfft搞定. 代码: #include<bits/stdc++.h> #define ri register int using na ...

  3. vue中的路由嵌套

    1定义组件 const Index = { template:` <div>首页</div> ` } const Order = { template:` <div> ...

  4. thinkphp3.2.3 数据库增删改查

    版本3.23 1. 多表查找一条数据 M('a表')->join("b表 on b表.id=a表.id")->where('条件')->find(); 2.查找一 ...

  5. 学以致用七---Centos7.2+python3.6.2+django2.1.1 --搭建一个网站(补充)

    补充:上一节出现的报错提示 可在settings.py 里,改成 ‘*’  ,这样所有的主机都可以访问了. 打开网页 注意红色框出来的 hello 是和 urls.py里的hello对应 urls.p ...

  6. 基于S2AFCM的子主题划分

    http://sztsg.czlib.net:8088/interlibSSO/goto/2/=jmr9bmjh9mds/KXReader/Detail?dbcode=CJFD&filenam ...

  7. Swift3翻天覆地的改变

    经历了从swift 1.0 到2.0,一个版本之后代码居然就不兼容了.这如何在团队推广呢?没有想到3.0居然变化更加的大.有多大,来体会一下: UIFont.preferredFontForTextS ...

  8. Build Laravel Blog PigJian by PHP7 and Nginx on Ubuntu

    Recently, I found an interesting framework Laravel written by PHP. i have never used PHP to write an ...

  9. War Chess (hdu 3345)

    http://acm.hdu.edu.cn/showproblem.php?pid=3345 Problem Description War chess is hh's favorite game:I ...

  10. c# json转换成dynamic对象,然后在dynamic对象中动态获取指定字符串列表中的值

    using Newtonsoft.Json;using System;using System.Collections.Generic;using System.Linq;using System.T ...