Tag Archives: select

PostgreSQL 9.5 預定提供的 Row Locking 改善

在「More Concurrency: Improved Locking In PostgreSQL」這邊提到 PostgreSQL 的 Row Locking 的改善,也就是 SELECT ... FOR UPDATE 與 SELECT ... FOR SHARE。 查了一下 SELECT 的文件,在 7.2 開始提供 FOR UPDATE (PostgreSQL: Documentation: 7.2: SELECT),在 8.1 開始提供 FOR SHARE (PostgreSQL: Documentation: 8.1: SELECT),以維基百科上的紀錄來看,7.2 是 … Continue reading

Posted in Computer, Database, Murmuring, PostgreSQL, Programming, Software | Tagged , , , , , , , , , | Leave a comment

xkcd 的「Query」

貼圖就好,看得懂的人應該會笑出來 XDDD

Posted in Computer, Database, Murmuring, Software | Tagged , , , , , , | Leave a comment

MySQL 裡搜尋 CHAR/VARCHAR (String) 欄位時要注意的事情

MySQL 表格欄位是 CHAR 或 VARCHAR 時,寫搜尋條件要記得使用 string 格式,而非數字。意思是,要避免這種 SQL query: SELECT * FROM foo WHERE `column_string` = 123456; 原因是即使 column_string 加上了 B-tree index,也無法利用這個 index 加速查詢。 原因是,除了最明確的 '123456' 會符合外,還有很多種 case 符合: mysql> SELECT 123456 = '0123456'; +--------------------+ | 123456 = '0123456' … Continue reading

Posted in Computer, Database, Murmuring, MySQL, Software | Tagged , , , , , , , , , , | Leave a comment

熱 MySQL InnoDB 的方式...

之前寫過一篇「熱 MySQL 的方法...」,主要是利用 InnoDB 在 SELECT COUNT(*) 時會掃過一次 primary key 來熱: pt-find --charset=utf8 --print -h $1 -u USER -p PASSWORD | xargs -t -P8 -I% -n1 sh -c "echo 'SELECT COUNT(*) FROM %;' | mysql -h $1 > /dev/null" 但想要熱整個表格時 … Continue reading

Posted in Computer, Database, Murmuring, MySQL, Software | Tagged , , , , , , | 5 Comments