此文章将不断更新,记录在使用Postgres的时候遇到的种种问题和解决方案,在本人做过的N个OutSourcing中,Postgres已经几乎成为各大发包公司必用的数据库,在大数据量和准确性方面Postgres远远胜于mysql,代码友好性也超越mysql,我在这里也推荐大家尝试一下Postgres,但是我还是提醒各位,小的应用可以,大的先不要冒险,否则你遇到问题会急得找不着北,文章少,会的人也少,曾几何时我想放弃,但是我还是坚持要用它,毕竟我相信既然有很多国外的项目都在用,说明此数据库没问题,只是我们还需要多学习。 希望此帖对各位有帮助,非常欢迎来信交流。
1.Postgres的in语句是不进行优化的,所以你在查询的时候还是使用join吧。Mssql是经过优化的。Oracle没试过,但是本人还是建议不要写in或者not in的语句,这不是关系数据库推荐你使用的语句。
2.Postgres如果不打开AutoVacuum,数据库将越来越慢,以致你无法忍受,定期进行手工的Vacuum是有必要的。
3.Postgres需要更高的服务器配置,如果跟mysql比起来,她确实需要更好的硬件支持。如果300万的数据,建立索引(btree),普通PC(p普通机器2,ram:2G),得恐怕需要1分多钟
4.大数据量导入的时候不要用insert,而用copy
5.善用limit和offset
6.可以拥有oid,在创建表的时候可以选择,这个如同oracle的rowno
7.Postgres的IDE工具推荐几款:EMS for Postgres,Postgres自带的Admin,也有一些php版本的postgres也可以尝试。
...