postgresql数据库表分区字段有必要创建索引么? 原创 2021-04-08 09:45:32.0 阅读(2223)次 postgresql数据库表分区后,分区字段有必要创建索引么? 昨天项目上线前进行性能并发测试,发现一个简单请求单并发要1分多钟,我进行代码跟踪了下,最终定位到如下SQL语句代码: ```xml select min(collect_time) from A ``` 我才想起来这个是我写的,当时是认为A表用collect_time字段做了分区,应该不用给collect_time字段做索引了,而且A表中已经有6个索引字段了,生怕创建太多索引而影响写入性能。 但性能测试环境中A表有6亿数据,上面这个查询就显的力不从心。于是我试着给collect_time字段创建索引再进行性能测试,实在不行,上缓存吧。。 大概用了2,3分钟索引就创建好了,语句如下: ```sql CREATE INDEX "A_collect_time" ON "public"."A" USING btree ( "collect_time" ) LOCAL TABLESPACE pg_default; ``` 然后再执行上面的查询,发现秒查!!!30ms就出来了。 又用jmeter测试100个线程并发,都基本1秒内就查询出来了。 这实在是给我好好上了一课。 也就是说,分区并不是万能,跟索引配合着使用才能发挥数据库最大性能。 postgresql 数据库 上一篇:clickhouse如何修改字段名 下一篇:解决java.lang.OutOfMemoryError: unable to create new native thread
相关文章 postgresql主从复制时报错:no pg_hba.conf entry for replication connection from host "192.168.15.131", user "replicator", SSL off(7315) Parameter index out of range (1 > number of parameters, which is 0(1864) 存算分离与存算一体的优缺点比较(6036) postgresql生成uuid(8400) postgresql jdbc driver驱动连接属性列表(2359) linux下docker安装postgreSql数据库,附带启动脚本(1943) hadoop运行mapreduce报错Error: Could not find or load main class org.apache.hadoop.mapreduce.v2.app.MRAppMaster(3035) 安装Hadoop伪分布式模式教程,版本为Hadoop3.1.4(1343) 推荐文章 使用spring4实现websocket连接(1) Parameter index out of range (1 > number of parameters, which is 0(7) spring cloud+feign+mybatis中使用seata0.9实现分布式事务(7) spring cloud gateway报错Only one connection receive subscriber allowed(82) spring cloud中Feign调用诡异报错MethodNotAllowed: status 405 reading(116) elasticsearch7.1保存时报错: Validation Failed: 1: type is missing;(7) 聊聊数据保存到MySQL后数据乱码的问题(1) jquery对象与dom对象互转(1) linux使用epel源yum安装iftop、nload、nginx等(2) linux下nginx安装其他模块(1) 热门文章 java stream去重的几种方式(40819) the dependencies of some of the beans in the application context form a cycle(16324) 解决mybatis打印查询结果集造成太多日志的问题(9839) java enum枚举转list和Map(9722) java stream List转Map与List转List与Map转List以及List转Map(8468) ServletRequest转HttpServletRequest设置header之后取不到header的问题(8434) java中BufferedImage转成 base64字符串(8098) 切分List集合为多个List集合(7385) maven修改jar包版本不生效解决办法(6990) bootstrap.yml配置报错:Could not resolve placeholder 'xx' in value (6949) 标签列表 java java java java java java java基础 微服务 异常处理 mysql clickhouse clickhouse clickhouse clickhouse clickhouse spring cloud spring boot linux elasticsearch feign jdbc spring js docker postgresql solr seata nginx maven gateway hsqldb 数据库 架构 大数据分析 分布式事务 redis canal dubbo hadoop 消息队列 win10 websocket springmvc git html select2 mybatis jenkins rocketmq quartz activemq 数据库集群 ajax bat 电脑 笔记 eclipse 设计模式 阿里云 github freemarker jvm jquery javamail redission redission对象 hystrix http hibernate springmail svn ubuntu ueditor xheditor zookeeper 分布式 小程序 开发工具 gitlab