
正文
包含postgresql查询太慢的词条
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
为什么postgrelsql的性能没有mysql好
PostgreSQL在很多方面都比MySQL强,如复杂SQL的执行、存储过程、触发器、索引。很多组织喜欢使用PostgreSQL,因为它的可靠性好,在保护数据方面很擅长,而且是个社区项目,不会陷入厂商的牢笼之中。
性能优化工具与度量信息不足。(PostgreSQL可解决) PostgreSQL提供了执行计划和详细的cost值,可以方便看到SQL的执行效率。 审计功能相对较弱。 安全功能不成熟,没有用户组与角色的概念,没有回收权限的功能(仅可以授予权限)。
MySQL比PostgreSQL更流行,流行意味着更多的用户,意味着经受了更多的考验,意味着更好的商业支持。而且MySQL提供了多个不同的社区版、商业版与企业版,而PG只提供了单个完整功能的版本。
PostgreSQL数据库没有太多版本的选择,并且这个数据库的最优势产品时对事务的支持。可能市面上的大多数软件对事务的要求没那么强烈。导致mysql使用人员更多。PostgreSQL数据库是mysql被oralce收购后逐渐流行起来的开源数据库。
PostgreSQL技术社区存在问题,在社区中他们很快就回答了问题,但在一些设计问题上,核心员工很顽固尤其是对当前的社区版本,即使有一个明显的错误,也不愿承认。 它的学院派味道太浓,对很多商业上的考虑比较少。
PostgreSQL最近增加了JSON支持,与传统的关系型数据库相比,它提供了更大的数据存储灵活性,因此,这方面PostgreSQL胜过MySQL。
相关问答
Q1: PostgreSQL数据库性能提升的几个方面
临时增大checkpoint_segments系统变量的值也可以提高大量数据装载的效率。这是因为在向PostgreSQL装载大量数据时,将会导致检查点操作(由系统变量checkpoint_timeout声明)比平时更加频繁的发生。
理论上讲 PostgreSQL 的 fsync 功能关闭,可以实现性能的提升,但是带来的影响就是需要承担数据的丢失,因为出现系统宕机或者数据库崩溃的时候有一些数据是没有落盘的。
我已经把postgresql分别在ramdisk上和不在ramdisk上进行过速度方面性能的测试。有些时候,在ramdisk上的postgresql的速度将会快出50%。当然有些时候不是这样的。
MySQL提供了修复MySQL表的工具,不过对于敏感数据来说,支持 ACID特性的InnoDB则是个更好的选择。与之相反,PostgreSQL则是个只有单一存储引擎的完全集成的数据库。
PostgreSQL是类似Oracle数据库的多进程架构,而不像MySQL是多线程的架构,所以能支持MPP。 1支持SMP(对称多处理器),但是如果每个处理器超过4或8个核(core)时,Mysql的扩展性表现较差。
Q2: 为什么我在postgresql的json数据中查询,速度会比mysql慢很多
JSON支持和NoSQL:PostgreSQL最近增加了JSON支持,与传统的关系型数据库相比,它提供了更大的数据存储灵活性,因此,这方面PostgreSQL胜过MySQL。
PostgreSQL 的稳定性极强, Innodb 等引擎在崩溃、断电之类的灾难场景下抗打击能力有了长足进步,然而很多 MySQL 用户都遇到过Server级的数据库丢失的场景——mysql系统库是MyISAM的,相比之下,PG数据库这方面要好一些。
首先是速度,MySQL通常要比PostgreSQL快得多。MySQL自已也宣称速度是他们追求的主要目标之一,基于这个原因,MySQL在以前的文档中也曾经说过并不准备支持事务和触发器。
如果把OracleDBA转到PostgreSQL数据库上是比较容易的,毕竟PostgreSQL数据库与Oracle数据库很相似。 PostgreSQL几乎支持所有的SQL标准,支持类型相当丰富。
一般来说,PostgreSQL 是一个更强大、更高级的数据库管理系统,非常适合需要在大型环境中快速执行复杂查询的组织。但是,对于预算和空间更受限制的公司来说,MySQL 是一个理想的解决方案。
通过查询日志(1)、Windows下开启MySQL慢查询MySQL在Windows系统中的配置文件一般是是my.ini找到[mysqld]下面加上代码如下log-slow-queries = F:/MySQL/log/mysqlslowquery。
Q3: 数据库异地访问非常慢
1、如果查询慢,需要根据你实际的数据模型优化sql,增加索引。具体操作百度。如果传输慢,想办法把几十次请求放到一次请求里面完成,减少服务器之间的交互。
2、具体办法是建立一个索引,如果可以的话使用聚集索引,因为聚集索引采用的是类似HASH的检索方式,这样当查找索引的时候,就不需要访问数据表了。
3、优化索引、优化访问方式,限制结果集的数据量。注意填充因子要适当(最好是使用默认值0)。索引应该尽量小,使用字节数小的列建索引好(参照索引的创建),不要对有限的几个值的字段建单一索引如性别字段。提高网速。
4、网站要到数据库那里去请求数据,数据库在返回数据都是要占用网络的,客户访问一个数据,先要访问网站的服务器,然后网站服务器去向数据库请求数据,数据库返回数据,网站在把数据返回给客户。
Q4: 客观公正地评价MySQL和PostgreSQL的优劣
1、可靠性是PostgreSQL的最高优先级。它以坚如磐石的品质和良好的工程化而闻名,支持高事务、任务关键型应用。PostgreSQL的文档非常精良,提供了大量免费的在线手册,还针对旧版本提供了归档的参考手册。
2、PostgreSQL 的稳定性极强, Innodb 等引擎在崩溃、断电之类的灾难场景下抗打击能力有了长足进步,然而很多 MySQL 用户都遇到过Server级的数据库丢失的场景——mysql系统库是MyISAM的,相比之下,PG数据库这方面要好一些。
3、MYSQL支持得更多一些,用户数量也更多。
Q5: 为什么PG的delete慢
delete是慢的,很正常。truncate就快,不过不符合你的要求。检查一下你的delete的条件,是否造成表扫描了。
你是不是建了索引了?如果建了索引的话,select会比较快,但是,增加、删除数据的话,需要对索引操作,因此,delete会比较慢的。
电脑内存不够,一直不清理电脑的缓存,就会让垃圾文件越来越多,这样就会导致电脑很卡,解决的办法很简单,用腾讯电脑管家进行清理下。网络太慢,如果宽带太小了,就会很慢很卡。升级宽带就好了。电脑中病毒了。
可能是数据量越大维护回滚段就越耗时!第二,如果表上存在索引的话,数据量越大,索引也越大,插入新的索引键耗时就越多!至于DELETE 之后 INSERT 慢那是因为高水位的关系,一般的话清空表都是trucate。
因为删除需要检查约束,产生日志所以会比较降低性能,但这个影响是临时的,就是说删除操作结束后就不会再对数据库的性能有影响。
关于postgresql查询太慢和的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。








