内射老阿姨1区2区3区4区_久久精品人人做人人爽电影蜜月_久久国产精品亚洲77777_99精品又大又爽又粗少妇毛片

postgresql千萬的簡單介紹

postgresql 30萬數(shù)據(jù)需要分表嗎

數(shù)據(jù)庫總大小:17.3GB、總記錄數(shù):4千萬零450條、信息數(shù)量:2千萬條、單表最大信息數(shù):400萬條一、前言:帝 國CMS 6.0版本最重要的升級功能是對系統(tǒng)構架進行升級,構架更加完美、負載容量更大。然而很多人就問,這個全新的構架有多大的魅力、容量是多少?其實我也不能 準確的告訴你,因為6.0剛發(fā)布不久并且沒有空閑時間測試,那時我只能告訴你“總體容量可無限放大,單表存放容量是原來的幾十倍、甚至更多,副表數(shù)據(jù)量達 到一定大小后可設置分表,副表支持無限分表,因而副表容量是無限的”。然而理論是需要實踐去驗證的,所以趁著這兩天比較空閑試著測試,并且測試結果令我非 常吃驚,在2000萬數(shù)據(jù)中最大的news單表中從50萬導到400萬數(shù)據(jù)無論從生成內容頁效率還受理信息列表竟然沒有多大差別:單表無論是50萬還是400萬生成5000個內容頁速度為:19秒單表無論是50萬還是400萬后臺管理信息列表速度為:0.009秒 二、測試環(huán)境1、硬件配置:使用本人工作使用的機器測試,普通的配置CPU:2.0 GHz 內存:1GB 2、軟件環(huán)境:使用無任何優(yōu)化的帝國CMS6.0一鍵安裝包WINDOWS 2003APACHE 2.2.4PHP 5.2.0MYSQL 5.0.27ZEND Optimizer 3.2.6帝國CMS6.0開源版(GBK)(注:因為只是測試所以采用效率比較一般的WINDOWS平臺,最好的PHP+MYSQL運行環(huán)境建議采用LINUX或UNIX平臺。) 三、以2000萬數(shù)據(jù)中最大的news表數(shù)據(jù)量為400萬、數(shù)據(jù)表大小為3.4GB為例:400萬單表情況下生成5000條數(shù)據(jù):19秒1、后臺點管理信息列表速度:0.008秒2、修改信息頁讀取數(shù)據(jù):0.005秒3、400萬單表情況下生成5000條數(shù)據(jù):19秒開始生成:生成過程截圖:5000條生成時間:19秒查看成后的欄目目錄HTML:4、測試在使用內容動態(tài)頁的數(shù)據(jù)讀取速度:0.0025秒四、由于章節(jié)比較多,所以不能在貼子中說明,點擊下面鏈接查看完整的測試過程《2 千萬數(shù)據(jù)、17.3GB數(shù)據(jù)庫用帝國CMS6.0分表合理存放》分成數(shù)個篇章對帝國CMS大數(shù)據(jù)量如何合理存放的進行介紹,整個測試過程都是邊運行邊截 圖,采用透明、公開的方式供大家監(jiān)督!如果有誰對測評過程和測評結果有疑問,可以自行參照我們的測試過程搭建類似的測試環(huán)境自己測試和對比測試結果。點擊這里查看完整的測試過程:/ecms6/jm/20000000/20000000.html五、本次2000萬數(shù)據(jù)最終測試數(shù)據(jù)統(tǒng)計:本次測試經(jīng)驗總結:優(yōu)點: 6.0在大數(shù)據(jù)下的優(yōu)勢非常明顯,生成內容頁、動態(tài)內容頁效率非常之快且不受數(shù)據(jù)量影響,解決了CMS負載最大的問題,并且使用按表管理信息列表速度很快,單表幾十萬和幾百萬數(shù)據(jù)沒有明顯區(qū)別。不足之處: 在 于單欄目數(shù)據(jù)量大于200萬時標簽調用、欄目列表速度有所下降(指的是增加檢索條件的情況),主要由于最耗資源的置頂排序與多重排序,下版會考慮刪除置頂 功能與優(yōu)化列表,并且會增加大數(shù)據(jù)量標簽調用優(yōu)化處理功能,以達到所有頁面速度在大數(shù)據(jù)量都很優(yōu)秀,不僅是內容頁效率優(yōu)秀。本次測試 2000萬只是本人空閑時搞的小測試,主要讓大家知道帝國分表如何處理更好,只要分表均勻可以將一個很大的數(shù)據(jù)分解成無數(shù)個相同效率的表,單表無論是50 萬、400萬甚至1000萬數(shù)據(jù)在管理信息列表與生成頁面效率基本是相同的,例如:5000萬數(shù)據(jù)中12個欄目可以分成每表存放450萬,每個450萬數(shù) 據(jù)表效率都是一樣的。未來版本帝國將會推出更完美的構架,主表可以像副表一樣無限分表,讓系統(tǒng)性能再度翻倍提升。做一個完美的安全、穩(wěn)定高效、強大、靈活 的CMS是我們的終極目標,多年來我們一直朝這個方向邁進,不斷創(chuàng)新不斷完善。帝國軟件以為中國網(wǎng)站提供最完善的建站解決方案為已任,打造國內最好的 CMS程序。帝國CMS對大數(shù)據(jù)情況建議:數(shù)據(jù)表結構最好的優(yōu)化是將所有的自定義字段都存放到副表;主表只存放標題字段;總體的數(shù)據(jù)表數(shù)據(jù)分配均勻,主表下的每個副表存放建議100萬數(shù)據(jù)以內;內容頁減少標簽調用或采用JS調用或者采用.shtml包含最新內容頁面的方式;欄目列表設置最大顯示數(shù)量;過期信息或不再調用的信息進行歸檔;減少使用搜索,搜索是最耗資源的功能;自行修改文件去除標簽和列表的置頂排序(置頂功能下版會默認刪除),對性能更高要求的可只采用id排序;優(yōu)化運行環(huán)境,特別是MYSQL數(shù)據(jù)庫優(yōu)化;服務器配置最好2GB以上內存、采用更快的CPU以及硬盤轉速緩存更高IO更快。未來帝國CMS版本對大數(shù)據(jù)方面功能展望: 標簽調用與列表性能優(yōu)化,刪除置頂功能并且對標簽調用優(yōu)化處理;主表結構更加優(yōu)化。推出更完美的構架,主表可以像副表一樣無限分表,讓系統(tǒng)無論從維護數(shù)據(jù)還是生成頁面性能將再度翻倍提升。多服務器結構支持,實現(xiàn)負載均衡。增加Oracle、postgresql、Mssql等多種數(shù)據(jù)庫支持。......更多功能我們正在不斷的探索與創(chuàng)新,相信會給大家更多的驚喜。附:帝國CMS6.0系統(tǒng)數(shù)據(jù)構架圖

創(chuàng)新互聯(lián)是一家專業(yè)提供東源企業(yè)網(wǎng)站建設,專注與網(wǎng)站設計、成都網(wǎng)站設計、html5、小程序制作等業(yè)務。10年已為東源眾多企業(yè)、政府機構等服務。創(chuàng)新互聯(lián)專業(yè)的建站公司優(yōu)惠進行中。

NoSQL自動生成上千萬的數(shù)據(jù)可以有哪些方法

1. CouchDB

所用語言: Erlang

特點:DB一致性,易于使用

使用許可: Apache

協(xié)議: HTTP/REST

雙向數(shù)據(jù)復制,

持續(xù)進行或臨時處理,

處理時帶沖突檢查,

因此,采用的是master-master復制(見編注2)

MVCC – 寫操作不阻塞讀操作

可保存文件之前的版本

Crash-only(可靠的)設計

需要不時地進行數(shù)據(jù)壓縮

視圖:嵌入式 映射/減少

格式化視圖:列表顯示

支持進行服務器端文檔驗證

支持認證

根據(jù)變化實時更新

支持附件處理

因此, CouchApps(獨立的 js應用程序)

需要 jQuery程序庫

最佳應用場景:適用于數(shù)據(jù)變化較少,執(zhí)行預定義查詢,進行數(shù)據(jù)統(tǒng)計的應用程序。適用于需要提供數(shù)據(jù)版本支持的應用程序。

例如: CRM、CMS系統(tǒng)。 master-master復制對于多站點部署是非常有用的。

(編注2:master-master復制:是一種數(shù)據(jù)庫同步方法,允許數(shù)據(jù)在一組計算機之間共享數(shù)據(jù),并且可以通過小組中任意成員在組內進行數(shù)據(jù)更新。)

2. Redis

所用語言:C/C++

特點:運行異常快

使用許可: BSD

協(xié)議:類 Telnet

有硬盤存儲支持的內存數(shù)據(jù)庫,

但自2.0版本以后可以將數(shù)據(jù)交換到硬盤(注意, 2.4以后版本不支持該特性?。?/p>

Master-slave復制(見編注3)

雖然采用簡單數(shù)據(jù)或以鍵值索引的哈希表,但也支持復雜操作,例如 ZREVRANGEBYSCORE。

INCR co (適合計算極限值或統(tǒng)計數(shù)據(jù))

支持 sets(同時也支持 union/diff/inter)

支持列表(同時也支持隊列;阻塞式 pop操作)

支持哈希表(帶有多個域的對象)

支持排序 sets(高得分表,適用于范圍查詢)

Redis支持事務

支持將數(shù)據(jù)設置成過期數(shù)據(jù)(類似快速緩沖區(qū)設計)

Pub/Sub允許用戶實現(xiàn)消息機制

最佳應用場景:適用于數(shù)據(jù)變化快且數(shù)據(jù)庫大小可遇見(適合內存容量)的應用程序。

例如:股票價格、數(shù)據(jù)分析、實時數(shù)據(jù)搜集、實時通訊。

(編注3:Master-slave復制:如果同一時刻只有一臺服務器處理所有的復制請求,這被稱為

Master-slave復制,通常應用在需要提供高可用性的服務器集群。)

3. MongoDB

所用語言:C++

特點:保留了SQL一些友好的特性(查詢,索引)。

使用許可: AGPL(發(fā)起者: Apache)

協(xié)議: Custom, binary( BSON)

Master/slave復制(支持自動錯誤恢復,使用 sets 復制)

內建分片機制

支持 javascript表達式查詢

可在服務器端執(zhí)行任意的 javascript函數(shù)

update-in-place支持比CouchDB更好

在數(shù)據(jù)存儲時采用內存到文件映射

對性能的關注超過對功能的要求

建議最好打開日志功能(參數(shù) –journal)

在32位操作系統(tǒng)上,數(shù)據(jù)庫大小限制在約2.5Gb

空數(shù)據(jù)庫大約占 192Mb

采用 GridFS存儲大數(shù)據(jù)或元數(shù)據(jù)(不是真正的文件系統(tǒng))

最佳應用場景:適用于需要動態(tài)查詢支持;需要使用索引而不是 map/reduce功能;需要對大數(shù)據(jù)庫有性能要求;需要使用

CouchDB但因為數(shù)據(jù)改變太頻繁而占滿內存的應用程序。

例如:你本打算采用 MySQL或 PostgreSQL,但因為它們本身自帶的預定義欄讓你望而卻步。

4. Riak

所用語言:Erlang和C,以及一些Javascript

特點:具備容錯能力

使用許可: Apache

協(xié)議: HTTP/REST或者 custom binary

可調節(jié)的分發(fā)及復制(N, R, W)

用 JavaScript or Erlang在操作前或操作后進行驗證和安全支持。

使用JavaScript或Erlang進行 Map/reduce

連接及連接遍歷:可作為圖形數(shù)據(jù)庫使用

索引:輸入元數(shù)據(jù)進行搜索(1.0版本即將支持)

大數(shù)據(jù)對象支持( Luwak)

提供“開源”和“企業(yè)”兩個版本

全文本搜索,索引,通過 Riak搜索服務器查詢( beta版)

支持Masterless多站點復制及商業(yè)許可的 SNMP監(jiān)控

最佳應用場景:適用于想使用類似 Cassandra(類似Dynamo)數(shù)據(jù)庫但無法處理

bloat及復雜性的情況。適用于你打算做多站點復制,但又需要對單個站點的擴展性,可用性及出錯處理有要求的情況。

例如:銷售數(shù)據(jù)搜集,工廠控制系統(tǒng);對宕機時間有嚴格要求;可以作為易于更新的 web服務器使用。

5. Membase

所用語言: Erlang和C

特點:兼容 Memcache,但同時兼具持久化和支持集群

使用許可: Apache 2.0

協(xié)議:分布式緩存及擴展

非??焖伲?00k+/秒),通過鍵值索引數(shù)據(jù)

可持久化存儲到硬盤

所有節(jié)點都是唯一的( master-master復制)

在內存中同樣支持類似分布式緩存的緩存單元

寫數(shù)據(jù)時通過去除重復數(shù)據(jù)來減少 IO

提供非常好的集群管理 web界面

更新軟件時軟無需停止數(shù)據(jù)庫服務

支持連接池和多路復用的連接代理

最佳應用場景:適用于需要低延遲數(shù)據(jù)訪問,高并發(fā)支持以及高可用性的應用程序

例如:低延遲數(shù)據(jù)訪問比如以廣告為目標的應用,高并發(fā)的 web 應用比如網(wǎng)絡游戲(例如 Zynga)

6. Neo4j

所用語言: Java

特點:基于關系的圖形數(shù)據(jù)庫

使用許可: GPL,其中一些特性使用 AGPL/商業(yè)許可

協(xié)議: HTTP/REST(或嵌入在 Java中)

可獨立使用或嵌入到 Java應用程序

圖形的節(jié)點和邊都可以帶有元數(shù)據(jù)

很好的自帶web管理功能

使用多種算法支持路徑搜索

使用鍵值和關系進行索引

為讀操作進行優(yōu)化

支持事務(用 Java api)

使用 Gremlin圖形遍歷語言

支持 Groovy腳本

支持在線備份,高級監(jiān)控及高可靠性支持使用 AGPL/商業(yè)許可

最佳應用場景:適用于圖形一類數(shù)據(jù)。這是 Neo4j與其他nosql數(shù)據(jù)庫的最顯著區(qū)別

例如:社會關系,公共交通網(wǎng)絡,地圖及網(wǎng)絡拓譜

7. Cassandra

所用語言: Java

特點:對大型表格和 Dynamo支持得最好

使用許可: Apache

協(xié)議: Custom, binary (節(jié)約型)

可調節(jié)的分發(fā)及復制(N, R, W)

支持以某個范圍的鍵值通過列查詢

類似大表格的功能:列,某個特性的列集合

寫操作比讀操作更快

基于 Apache分布式平臺盡可能地 Map/reduce

我承認對 Cassandra有偏見,一部分是因為它本身的臃腫和復雜性,也因為 Java的問題(配置,出現(xiàn)異常,等等)

最佳應用場景:當使用寫操作多過讀操作(記錄日志)如果每個系統(tǒng)組建都必須用 Java編寫(沒有人因為選用

Apache的軟件被解雇)

例如:銀行業(yè),金融業(yè)(雖然對于金融交易不是必須的,但這些產(chǎn)業(yè)對數(shù)據(jù)庫的要求會比它們更大)寫比讀更快,所以一個自然的特性就是實時數(shù)據(jù)分析

8. HBase

(配合 ghshephard使用)

所用語言: Java

特點:支持數(shù)十億行X上百萬列

使用許可: Apache

協(xié)議:HTTP/REST (支持 Thrift,見編注4)

在 BigTable之后建模

采用分布式架構 Map/reduce

對實時查詢進行優(yōu)化

高性能 Thrift網(wǎng)關

通過在server端掃描及過濾實現(xiàn)對查詢操作預判

支持 XML, Protobuf, 和binary的HTTP

Cascading, hive, and pig source and sink modules

基于 Jruby( JIRB)的shell

對配置改變和較小的升級都會重新回滾

不會出現(xiàn)單點故障

堪比MySQL的隨機訪問性能

最佳應用場景:適用于偏好BigTable:)并且需要對大數(shù)據(jù)進行隨機、實時訪問的場合。

例如: Facebook消息數(shù)據(jù)庫(更多通用的用例即將出現(xiàn))

編注4:Thrift

是一種接口定義語言,為多種其他語言提供定義和創(chuàng)建服務,由Facebook開發(fā)并開源。

當然,所有的系統(tǒng)都不只具有上面列出的這些特性。這里我僅僅根據(jù)自己的觀點列出一些我認為的重要特性。與此同時,技術進步是飛速的,所以上述的內容肯定需要不斷更新。我會盡我所能地更新這個列表。

postgresql 判斷是不是數(shù)字

PostgreSQL 是一種對象-關系型數(shù)據(jù)庫管理系統(tǒng)(ORDBMS),也是目前功能最強大、

特性最豐富和最復雜的自由數(shù)據(jù)庫系統(tǒng)。它起源于伯克利(BSD)的數(shù)據(jù)庫研究計劃,

目前是最重要的開源數(shù)據(jù)庫產(chǎn)品開發(fā)項目之一, 有著非常廣泛的用戶。

PostgreSQL 可以說是最富特色的自由數(shù)據(jù)庫管理系統(tǒng),也有人認為可以是最強大的自由

數(shù)據(jù)庫管理系統(tǒng)。PostgreSQL 是唯一支持事務、子查詢、多版本并行控制系統(tǒng)、數(shù)據(jù)完

整性檢查等特性的唯一的一種自由的數(shù)據(jù)庫管理系統(tǒng)。

能在多下---包括Linux、FreeBSD和Windows等---運行,并且支持多語言的開發(fā)。

在兩大開源數(shù)據(jù)庫產(chǎn)品的對比中,一般認為MySQL速度更快,所以得到更為廣泛的使

用;而PostgreSQL性能更為先進,PostgreSQL 提供很多 MySQL 目前所不支持的特性,比

如觸發(fā)器、視圖、存儲過程等等,在記錄數(shù)超千萬之后性能表現(xiàn)尤其出色。

postgresql數(shù)據(jù)庫怎么才能刪除大量數(shù)據(jù)?

你可以每天創(chuàng)建一個表,查詢數(shù)據(jù)的時候用union all合并起來查詢

這樣做的好處是,刪除的時候可以直接把表刪掉即可

將oracle庫的千萬級數(shù)據(jù)導到postgres中,怎樣配置dataX的參數(shù)才能達到最高效率?

在企業(yè)級大數(shù)據(jù)平臺的建設中,從傳統(tǒng)關系型數(shù)據(jù)庫(如Oracle)向Hadoop平臺匯聚數(shù)據(jù)是一個重要的課題。目前主流的工具有Sqoop、DataX、Oracle GoldenGate for Big Data等幾種。Sqoop使用sql語句獲取關系型數(shù)據(jù)庫中的數(shù)據(jù)后,通過hadoop的MapReduce把數(shù)據(jù)從關系型數(shù)據(jù)庫中導入數(shù)據(jù)到HDFS,其通過指定遞增列或者根據(jù)時間戳達到增量導入的目的,從原理上來說是一種離線批量導入技術;DataX 直接在運行DataX的機器上進行數(shù)據(jù)的抽取及加載,其主要原理為:通過Reader插件讀取源數(shù)據(jù),Writer插件寫入數(shù)據(jù)到目標 ,使用Job來控制同步作業(yè),也是一種離線批量導入技術;Oracle Goldengate for Big Data抽取在線日志中的數(shù)據(jù)變化,轉換為GGS自定義的數(shù)據(jù)格式存放在本地隊列或遠端隊列中,并利用TCP/IP傳輸數(shù)據(jù)變化,集成數(shù)據(jù)壓縮,提供理論可達到9:1壓縮比的數(shù)據(jù)壓縮特性,它簡化了向常用大數(shù)據(jù)解決方案的實時數(shù)據(jù)交付,可以在不影響源系統(tǒng)性能的情況下將交易數(shù)據(jù)實時傳入大數(shù)據(jù)系統(tǒng)。對比以上工具及方法,結合數(shù)據(jù)處理的準確性及實時性要求,我們評估Oracle Goldengate for Big Data基本可以滿足當前大數(shù)據(jù)平臺數(shù)據(jù)抽取的需求。

如何擴大postgresql存儲空間

1. 概述

cstore_fdw實現(xiàn)了 PostgreSQL 數(shù)據(jù)庫的列式存儲。列存儲非常適合用于數(shù)據(jù)分析的場景,數(shù)據(jù)分析的場景下數(shù)據(jù)是批量加載的。

這個擴展使用了Optimized Row Columnar (ORC)數(shù)據(jù)存儲格式,ORC改進了Facebook的RCFile格式,帶來如下好處:

壓縮:將內存和磁盤中數(shù)據(jù)大小削減到2到4倍??梢詳U展以支持不同壓縮算法。

列投影:只提取和查詢相關的列數(shù)據(jù)。提升IO敏感查詢的性能。

跳過索引:為行組存儲最大最小統(tǒng)計值,并利用它們跳過無關的行。

2. 使用

cstore_fdw的安裝和使用都非常簡單,可以參考官方資料。

thub.com/citusdata/cstore_fdw

注)注意cstore_fdw只支持PostgreSQL9.3和9.4 。

下面做幾個簡單的性能對比,看看cstore_fdw究竟能帶來多大的性能提升。

2.1 數(shù)據(jù)加載

2.1.1 普通表

CREATE TABLE tb1

(

id int,

c1 TEXT,

c2 TEXT,

c3 TEXT,

c4 TEXT,

c5 TEXT,

c6 TEXT,

c7 TEXT,

c8 TEXT,

c9 TEXT,

c10 TEXT

);

注:要和普通表的全表掃描作對比,所以不建主鍵和索引。

[postgres@node2 chenhj]$ time psql -p 40382 -At -F, -c "select id,id::text,id::text,id::text,id::text,id::text,id::text,id::text,id::text,id::text,id::text from generate_series(1,10000000) id"|time psql -p 40382 -c "copy tb1 from STDIN with CSV"

COPY 10000000

1.56user 1.00system 6:42.39elapsed 0%CPU (0avgtext+0avgdata 7632maxresident)k

776inputs+0outputs (17major+918minor)pagefaults 0swaps

real 6m42.402s

user 0m15.174s

sys 0m14.904s

postgres=# select pg_total_relation_size('tb1'::regclass);

pg_total_relation_size

------------------------

1161093120

(1 row)

postgres=# \timing

Timing is on.

postgres=# analyze tb1;

ANALYZE

Time: 11985.070 ms

插入1千萬條記錄,數(shù)據(jù)占用存儲大小1.16G,插入耗時6分42秒,分析耗時12秒。

2.1.2 cstore表

$ mkdir -p /home/chenhj/data94/cstore

CREATE EXTENSION cstore_fdw;

CREATE SERVER cstore_server FOREIGN DATA WRAPPER cstore_fdw;

CREATE FOREIGN TABLE cstb1

(

id int,

c1 TEXT,

c2 TEXT,

c3 TEXT,

c4 TEXT,

c5 TEXT,

c6 TEXT,

c7 TEXT,

c8 TEXT,

c9 TEXT,

c10 TEXT

)

SERVER cstore_server

OPTIONS(filename '/home/chenhj/data94/cstore/cstb1.cstore',

compression 'pglz');

[postgres@node2 chenhj]$ time psql -p 40382 -At -F, -c "select id,id::text,id::text,id::text,id::text, id::text,id::text,id::text,id::text,id::text,id::text from generate_series(1,10000000) id"|time psql -p 40382 -c "copy cstb1 from STDIN with CSV"

COPY 10000000

1.53user 0.78system 7:35.15elapsed 0%CPU (0avgtext+0avgdata 7632maxresident)k

968inputs+0outputs (20major+920minor)pagefaults 0swaps

real 7m35.520s

user 0m14.809s

sys 0m14.170s

[postgres@node2 chenhj]$ ls -l /home/chenhj/data94/cstore/cstb1.cstore

-rw------- 1 postgres postgres 389583021 Jun 23 17:32 /home/chenhj/data94/cstore/cstb1.cstore

postgres=# \timing

Timing is on.

postgres=# analyze cstb1;

ANALYZE

Time: 5946.476 ms

插入1千萬條記錄,數(shù)據(jù)占用存儲大小390M,插入耗時7分35秒,分析耗時6秒。

使用cstore列存儲后,數(shù)據(jù)占用存儲大小降到普通表的3分之1。需要說明的是,由于所有TEXT列填充了隨機數(shù)據(jù),壓縮率不算高,某些實際的應用場景下壓縮效果會比這更好。

2.2 Text列的like查詢性能對比

2.2.1 普通表

清除文件系統(tǒng)緩存,并重啟PostgreSQL

[postgres@node2 chenhj]$ pg_ctl -D /home/chenhj/data94 -l logfile94 restart

[root@node2 ~]# free

total used free shared buffers cached

Mem: 2055508 771356 1284152 0 9900 452256

-/+ buffers/cache: 309200 1746308

Swap: 4128760 387624 3741136

[root@node2 ~]# echo 1 /proc/sys/vm/drop_caches

[root@node2 ~]# free

total used free shared buffers cached

Mem: 2055508 326788 1728720 0 228 17636

-/+ buffers/cache: 308924 1746584

Swap: 4128760 381912 3746848

對Text列執(zhí)行l(wèi)ike查詢

[postgres@node2 chenhj]$ iostat -k dm-2

Linux 2.6.32-71.el6.x86_64 (node2) 06/23/14 _x86_64_ (2 CPU)

avg-cpu: %user %nice %system %iowait %steal %idle

0.80 0.00 0.38 3.42 0.00 95.40

Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn

dm-2 58.55 330.68 212.08 7351441 4714848

[postgres@node2 chenhj]$ time psql -p 40382 -c "select count(*) from tb1 where c1 like '%66'"

count

--------

100000

(1 row)

real 0m7.051s

user 0m0.001s

sys 0m0.004s

[postgres@node2 chenhj]$ iostat -k dm-2

Linux 2.6.32-71.el6.x86_64 (node2) 06/23/14 _x86_64_ (2 CPU)

avg-cpu: %user %nice %system %iowait %steal %idle

0.80 0.00 0.38 3.43 0.00 95.39

Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn

dm-2 58.90 381.53 211.90 8489597 4714956

耗時7.1秒,產(chǎn)生IO讀1.14G,IO寫108K。

不清文件系統(tǒng)緩存,不重啟PostgreSQL,再執(zhí)行一次。消耗時間降到1.6秒,幾乎不產(chǎn)生IO。

[postgres@node2 chenhj]$ iostat -k dm-2

Linux 2.6.32-71.el6.x86_64 (node2) 06/23/14 _x86_64_ (2 CPU)

avg-cpu: %user %nice %system %iowait %steal %idle

0.80 0.00 0.38 3.43 0.00 95.39

Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn

dm-2 58.81 332.20 213.06 7350301 4714364

[postgres@node2 chenhj]$ time psql -p 40382 -c "select count(*) from tb1 where c1 like '%66'"

count

--------

100000

(1 row)

real 0m1.601s

user 0m0.002s

sys 0m0.001s

[postgres@node2 chenhj]$ iostat -k dm-2

Linux 2.6.32-71.el6.x86_64 (node2) 06/23/14 _x86_64_ (2 CPU)

avg-cpu: %user %nice %system %iowait %steal %idle

0.80 0.00 0.38 3.43 0.00 95.38

Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn

dm-2 58.80 332.12 213.01 7350337 4714364

2.2.2 cstore表

清除文件系統(tǒng)緩存,并重啟PostgreSQL

[postgres@node2 chenhj]$ pg_ctl -D /home/chenhj/data94 -l logfile94 restart

[root@node2 ~]# echo 1 /proc/sys/vm/drop_caches

對Text列執(zhí)行l(wèi)ike查詢

[postgres@node2 chenhj]$ iostat -k dm-2

Linux 2.6.32-71.el6.x86_64 (node2) 06/23/14 _x86_64_ (2 CPU)

avg-cpu: %user %nice %system %iowait %steal %idle

0.80 0.00 0.38 3.38 0.00 95.45

Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn

dm-2 58.12 376.42 209.04 8492017 4716048

[postgres@node2 chenhj]$ time psql -p 40382 -c "select count(*) from cstb1 where c1 like '%66'"

count

--------

100000

(1 row)

real 0m2.786s

user 0m0.002s

sys 0m0.003s

[postgres@node2 chenhj]$ iostat -k dm-2

Linux 2.6.32-71.el6.x86_64 (node2) 06/23/14 _x86_64_ (2 CPU)

avg-cpu: %user %nice %system %iowait %steal %idle

0.80 0.00 0.38 3.38 0.00 95.44

Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn

dm-2 58.12 378.75 208.89 8550761 4716048

耗時2.8秒,產(chǎn)生IO讀59M,IO寫0K。執(zhí)行時間優(yōu)化的雖然不是太多,但IO大大減少,可見列投影起到了作用。

不清文件系統(tǒng)緩存,不重啟PostgreSQL,再執(zhí)行一次。消耗時間降到1.4秒,幾乎不產(chǎn)生IO。

[postgres@node2 chenhj]$ iostat -k dm-2

Linux 2.6.32-71.el6.x86_64 (node2) 06/23/14 _x86_64_ (2 CPU)

avg-cpu: %user %nice %system %iowait %steal %idle

0.80 0.00 0.38 3.36 0.00 95.47

Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn

dm-2 57.75 376.33 207.58 8550809 4716524

[postgres@node2 chenhj]$ time psql -p 40382 -c "select count(*) from cstb1 where c1 like '%66'"

count

--------

100000

(1 row)

real 0m1.424s

user 0m0.002s

sys 0m0.001s

[postgres@node2 chenhj]$ iostat -k dm-2

Linux 2.6.32-71.el6.x86_64 (node2) 06/23/14 _x86_64_ (2 CPU)

avg-cpu: %user %nice %system %iowait %steal %idle

0.80 0.00 0.38 3.36 0.00 95.47

Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn

dm-2 57.70 375.96 207.38 8550809 4716588

2.3 對Int列執(zhí)行=查詢

2.3.1 普通表

清除文件系統(tǒng)緩存,并重啟PostgreSQL后

[postgres@node2 chenhj]$ pg_ctl -D /home/chenhj/data94 -l logfile94 restart

[root@node2 ~]# echo 1 /proc/sys/vm/drop_caches

對Int列執(zhí)行=查詢

[postgres@node2 chenhj]$ iostat -k dm-2

Linux 2.6.32-71.el6.x86_64 (node2) 06/23/14 _x86_64_ (2 CPU)

avg-cpu: %user %nice %system %iowait %steal %idle

0.79 0.00 0.37 3.33 0.00 95.50

Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn

dm-2 57.25 373.21 205.67 8560897 4717624

[postgres@node2 chenhj]$ time psql -p 40382 -c "select count(*) from tb1 where id =666666"

count

-------

1

(1 row)

real 0m6.844s

user 0m0.002s

sys 0m0.006s

[postgres@node2 chenhj]$ iostat -k dm-2

Linux 2.6.32-71.el6.x86_64 (node2) 06/23/14 _x86_64_ (2 CPU)

avg-cpu: %user %nice %system %iowait %steal %idle

0.79 0.00 0.37 3.34 0.00 95.49

Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn

dm-2 57.60 422.57 205.54 9699161 4717708

耗時6.8秒,產(chǎn)生IO讀1.14G,IO寫84K

不清緩存,再執(zhí)行一次。消耗時間降到1.1秒,幾乎不產(chǎn)生IO。

[postgres@node2 chenhj]$ iostat -k dm-2

Linux 2.6.32-71.el6.x86_64 (node2) 06/23/14 _x86_64_ (2 CPU)

avg-cpu: %user %nice %system %iowait %steal %idle

0.79 0.00 0.37 3.33 0.00 95.50

Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn

dm-2 57.44 421.37 204.97 9699177 4718032

[postgres@node2 chenhj]$ time psql -p 40382 -c "select count(*) from tb1 where id =666666"

count

-------

網(wǎng)站標題:postgresql千萬的簡單介紹
標題網(wǎng)址:http://m.rwnh.cn/article2/dsdhpic.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供ChatGPT、App開發(fā)、微信公眾號定制網(wǎng)站、自適應網(wǎng)站、虛擬主機

廣告

聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化
敖汉旗| 资溪县| 竹山县| 永川市| 普格县| 隆子县| 云和县| 新泰市| 西乌| 潼关县| 长兴县| 当涂县| 明水县| 嘉善县| 昆山市| 固安县| 滁州市| 太谷县| 衡南县| 新田县| 青田县| 余江县| 滁州市| 盐城市| 商洛市| 凤山市| 五台县| 林周县| 揭东县| 彭水| 岱山县| 抚宁县| 友谊县| 益阳市| 邹平县| 罗江县| 宜都市| 广德县| 北碚区| 临清市| 博湖县|