Tag Archives: query

MySQL 8.0 的 performance_schema 加上 index 了...

MySQL 8.0 是 MySQL 5.7 的後續版本,中間的 6.0 與 7.0 都有一些故事,就被跳過去了,跟 PHP 的情況有點像。 在 8.0 版將會把 performance_schamea 加上 index,讓查詢的速度變快:「MySQL 8.0: Performance Schema, now with indexes!」: In MySQL 8.0, performance_schema tables are now indexed to speed up data retrieval. A total of … Continue reading

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

CloudFront 支援將 Query String 內的特定 Key/Value 當作 Cache Key 的一部分

Amazon CloudFront 可以指定 query string 中的某個特定的 key/value 當做 cache key 的一部分了:「Announcing Query String Whitelisting for Amazon CloudFront」,對應的文件在「Configuring CloudFront to Cache Based on Query String Parameters」這邊可以查到。 先前只能針對選擇忽略掉整個 query string,或是把整個 query string 當作 cache key 的一部分,現在可以細部調整了。 最簡單的應用可以用在 css/js 的 asset 上,針對 v=\d+ … Continue reading

Posted in AWS, CDN, Cloud, Computer, Murmuring, Network, WWW | Tagged , , , , , , , , , , , , , , | Leave a comment

MySQL 5.7 的 Rewrite Query Plugin

在「What to do with optimizer hints after an upgrade?」這邊介紹了 MySQL 5.7 引入的 Rewrite Query Plugin,看起來有很多可以拿來變化的? 作者提到的用法是當 minor version 升級後 (譬如 5.6 升到 5.7),由於 optimizer 愈來愈聰明,hint 應該都要重新確認是否還需要指定 (像是 USING INDEX),避免效能反而變差。 但這個前提是你能夠改到程式碼,如果你改不到程式碼就只能祈禱效能不會變差。 而 MySQL 5.7 提供的 Rewrite Query Plugin 則可以改寫 SQL query,像是 … Continue reading

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

Relational Database System (RDBMS) 運作的方式

在「How does a relational database work」這篇文章用了很長的篇幅講「資料庫如何把 SQL query 轉換為實際的操作」: I’ll focus on what I think is essential: the way a database handles an SQL query. 資料庫也是人寫出來的,資料結構與演算法也是人設計出來的。你現在手上有資料,要怎麼把 SQL query 變成有效率的查詢操作行為,就是這篇文章在描述的。 看起來連 JOIN 的機制也講了不少...

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

Percona 對 mysql_query_cache 的測試 (以 Magento 為例)

Percona 的人以現在的觀點來看 mysql_query_cache:「The MySQL query cache: Worst enemy or best friend?」。 起因主要也是懷疑 query cache 是 global mutex 在現在的硬體架構 (主要是 CPU 數量成長) 應該是個負面的影響,但不確定影響多少: The query cache is well known for its contentions: a global mutex has to be acquired for any … Continue reading

Posted in Computer, Database, Hardware, Murmuring, MySQL, Software | Tagged , , , , , , , , , , , , , , | 2 Comments

HTTP/1.1 時代的 Best Practice 變成 HTTP/2 的問題

Velocity 2015 上的「HTTP/2 is here, let's optimize!」提到了很多關於 HTTP/1.1 時代所採用的 Best Practice (或者說,workaround) 變成了 HTTP/2 的問題。 這張表整理了各種技巧在 HTTP/1.1 與 HTTP/2 的差異: 在 HTTP/2 因為有了 multiplexing 機制,用了 Apply domain sharding 後反而增加 DNS query 以及開新的連線所需要的 handshake 時間。 而 Concatenate resources 也算是 workaround 的一種,不同等級的合併會有不同的 … Continue reading

Posted in Computer, Murmuring, Network, WWW | Tagged , , , , , , , , , , , , , | Leave a comment

PostgreSQL 9.5 的 GROUPING SETS 以及 CUBE 與 ROLLUP

在 Zite 上看到的「Postgres finally has CUBE / ROLLUP / GROUPING SETS !」。 直接看 PostgreSQL 的文件「7.2.4. GROUPING SETS, CUBE, and ROLLUP」就可以知道用法: => SELECT * FROM items_sold; brand | size | sales -------+------+------- Foo | L | 10 Foo | M | … Continue reading

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

MySQL 的 Index 設計技巧

Percona 的「Indexing 101: Optimizing MySQL queries on a single table」這篇講了最基本的 index 設計技巧,雖然文章裡沒提到,但最好是需要 B-tree 與 B+ tree 的背景知識。 MySQL 的 query 大致分成幾個階段。先決定要使用哪些 index (或是完全不用),然後透過 index 抓出符合條件資料 (或是 table scan),最後再細部過濾。 以文章裡提到的「Multiple inequalities」範例裡這樣的 SQL query 來討論: SELECT * FROM t WHERE c > … Continue reading

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

Amazon Redshift 的 Query 效能調教

Amazon Redshift 在 Web Console 上推出的新功能:「Custom ODBC/JDBC Drivers and Query Visualization for Amazon Redshift」: 會把 query 的步驟拆成多個步驟,針對比較吃資源的步驟標出來,讓設計的人可以思考要怎麼改。

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

自動將流量轉到 Tor 上面的硬體

在 Zite 上看到「Tiny Anonabox to offer online anonymity through Tor」這篇文章。 在 Kickstarter 上可以看到更完整的資料:「anonabox : a Tor hardware router」。 可以想像出來大概是什麼技術組合起來。分別處理 DNS query 以及實際連線的部份應該就可以搞定很多應用了。 不知道隱私的部份可以做到什麼程度,畢竟在 Tor 上面仍然有監聽的風險,如果讓 HTTP traffic 在上面跑的話等於是裸奔...

Posted in Computer, Hardware, Murmuring, Network, P2P, Security, Software | Tagged , , , , , , , , | 2 Comments