原创 POSTGRESQL 分區表初次體驗

POSTGRESQL的分區和MYSQL不同,MYSQL是有專門的分區表, 而POSTGRESQL的分區則利用它本身的面向對象的特性來做。 下面我們來簡

原创 狀態值在數據庫中的檢索

對於關係型數據庫而言,針對表的檢索,一般來說,建立合適的索引就可以達到很好的檢索效果。(這裏不包含表設計的合理與否)比如像狀態列這樣可選擇性非常低的值

原创 MySQL 存儲過程調試工具商業和免費

MySQL存儲過程自從5.0版本誕生以來,一直因爲沒有豐富的調試工具而被人詬病。 MySQL 產品在經歷了被SUN以及ORACLE收購以來, 無論在功

原创 PostgreSQL 實現MySQL "insert ignore" 語法。

對MySQL熟悉的人可能都知道,MySQL 有一個“insert ignore" 語法來忽略已經存在的記錄。 PostgreSQL暫時不提供這樣的語法

原创 TokuDB和InnoDB的讀寫分析與比較

我們知道,在MySQL單機版本里面最流行的也是唯一支持全事務的引擎爲INNODB。 其特點是數據本身是用B-TREE來組織,數據本身即是龐大的根據主鍵

原创 MySQL 優化器可選開關詳解

MySQL 從5.1開始,提供了關於優化器選項的開關選項。 這樣,我們可以強制在優化器糊塗的時候,關閉一些我們認爲不該做的事情;或者是當我們想查看優化

原创 MySQL 模擬PostgreSQL generate_series 表函數

PostgreSQL 提供了一個很強大的造數據的函數generate_series,基於Common Table Expression。  MySQL

原创 如何防止表被清空

一般來說,我們未來阻止用戶刪除或者清空表以及數據, 可以直接從權限下手,給他少量的權限即可。 比如,防止用戶進行truncate 操作, 可以給如下權

原创 MySQL 實現Oracle或者PostgreSQL的row_number over 這樣的排名語法

PostgreSQL 和Oracle 都提供了 row_number() over() 這樣的語句來進行對應的字段排名, 很是方便。  MySQL卻沒

原创 MariaDB 實現函數索引

我們知道MySQL 暫時不支持函數索引。 目前大部分數據庫包括PostgreSQL,Oracle等都支持。 什麼是函數索引呢?函數索引就是說用某固定的

原创 MySQL 模擬條件索引

我們知道,MySQL 不支持條件索引。 什麼是條件索引呢? 條件索引就是在索引列上根據WHERE條件進行一定的過濾後產生的索引。 這樣的索引有以下優勢

原创 PostgreSQL 實現MySQL 的auto_increment 字段

MySQL 裏面有auto_increment 自增字段,PostgreSQL 沒有自增字段這一說法,但是有單獨的對象:序列。 我們可以用序列或者其他

原创 PostgreSQL 對數組的遍歷

PostgreSQL 提供了數組類型。我來演示下如何具體使用。創建一個有數組類型字段的表。create table test_array(id ser

原创 MySQL 以及 Python 實現排名窗口函數

大部分數據庫都提供了窗口函數,比如RANK,ROW_NUMBER等等。 MySQL 這方面沒有直接提供,但是可以變相的實現,我以前寫了row_numb

原创 用第三方語言編寫PostgreSQL 存儲函數

在PostgreSQL裏,所有的存儲函數需求都可以用PLPGSQL來實現。同時也支持用第三方語言來編寫,這個就得看自己哪個方面熟練了。不過要注意的一點