原创 POSTGRESQL 與MYSQL 實現分割字符串的方法對比

 實現分割字符串。MYSQL版本。 由於MYSQL不支持遞歸,不支持返回表類型的結果,所以代碼比較繁瑣。 我用了兩個函數以及一個存儲過程來實現。--

原创 PostgreSQL 位圖索引

什麼是位圖索引? 位圖索引就是用一個位圖表格來存放記錄是否可見的結構。位圖索引的一些特性? 位圖索引實現方法: 用一個BIT位來表示這個屬性對應的值是否存在,存在爲1,不存在爲0. 位圖索引作用範圍:處理狀態值,也可以說可選擇度很高的情形

原创 PostgreSQL 返回多個結果集

MySQL的存儲過程 可以很方便的一次性的返回多個結果集, 但是POSTGRESQL目前不提供這樣的功能。一個直譯的方法就是用遊標來做,不過也可以把結

原创 PostgreSQL 遍歷表的PLSQL列舉

我們經常會對數據字典中的系統表進行遍歷,從而寫一些SHELL腳本或者動態造數據等等。 這裏我用PLSQL演示了三種方法來遍歷一張表。  表結構如下,t

原创 PostgreSQL 增量備份詳解以及相關示例

PostgreSQL 沒有類似MySQL 的二進制日誌, 但是有和MySQL 類似的REDO LOG,並且有MySQL 沒有的REDO 歸檔功能。當然

原创 PostgreSQL 對簡單樹的遍歷

昨天我用MySQL來實現了ORACLE的遞歸語句CONNECT BY, 看起來稍複雜些。今天來看看POSTGRESQL如何實現ORACLE的CONNECT BY。還是用昨天同樣的表以及數據。POSTGRES

原创 Oracle 的INSTR函數MySQL實現

一個遷移項目遇到的,MySQL的instr函數只能查找子串是否在父串中,沒法按照出現的次數進行查找。 這裏我自己寫了一個,以便遷移。當然我這裏僅僅針對的是遷移,可能沒有完全實現原有函數的細節。Oracle

原创 MySQL5.7 的 錯誤堆棧緩衝

什麼是錯誤緩衝堆棧呢? 舉個很簡單的例子,比如執行下面一條語句:mysql> INSERT INTO t_datetime VALUES(2,'4','5');ERROR 1292 (22007): Inc

原创 MySQL新舊版本ORDER BY 處理方法

MySQL 的order by 涉及到三個參數:A. sort_buffer_size 排序緩存。B. read_rnd_buffer_size 第二次排序緩存。C. max_length_for_sort_data 帶普通列的最大排序約

原创 REDIS與MYSQL實現標籤的對比

這裏來演示下REDIS和MYSQL之間的數據轉換問題,REDIS 是典型的KEY -VALUE型NOSQL數據庫,並且提供了額外豐富的數據類型。這裏簡單列舉了標籤類型的應用問題。比如在MySQL裏面,對內容

原创 MySQL5.7 虛擬列實現表達式索引

MySQL自古以來就不提供函數索引這麼複雜的功能。那怎麼在MySQL裏面實現這樣的功能呢? 我們先來看看函數索引的概念。函數索引,也可稱爲表達式索引,也就是基於字段以特定函數(表達式)建立索引來提升查詢性能

原创 POSTGRESQL交叉表的實現

這裏我來演示下在POSTGRESQL裏面如何實現交叉表的展示,至於什麼是交叉表,我就不多說了,度娘去哦。原始表數據如下:t_girl=# select * from score; name | subj

原创 如何從數據庫層面檢測兩表內容的一致性

一般來說呢,如何檢測兩張表的內容是否一致,這樣的需求大多在從機上體現,以保證數據一致性。方法無非有兩個,第一呢就是從數據庫着手,第二呢就是從應用程序端着手。 我這裏羅列了些如何從數據庫層面來解決此類問題的方

原创 日誌表設計一例分析

關於關係表的設計歸根結底有兩個方面。第一,就是完全按照範式理論去設計,一般來說達到第三範式就可以了,或者你可以劃分的更細到達更上一層次。比如第四,第五,第六等等。這種設計有自己的可讀性很強,但是有一點,在檢索數據的時候增加了多張關係表來做

原创 Oracle實現POSTGRESQL的generate_series功能

PostgreSQL 有生成序列的函數,可以方便的進行造數據。這裏我用ORACLE實現了PGSQL的generate_series函數功能。POSTGRESQL.t_girl=# select * from