簡記 myisam_ftdump 指令

MySQL 內建了 fulltext 功能, 能指定資料表的特定欄位建立特殊 fulltext 索引。源於此故,MySQL 也支援了一個衍生的 client 指令 “myisam_ftdump“。

此指令可以讓使用者查看 資料表 中的 fulltext 欄位,實際建立索引的詳細情況。使用語法如下:

Read the rest of this entry »

Posted in MySQL. No Comments »

將 vera 字典倒入 MySQL 資料庫

昨天在部分完成 YUI AutoComplete 功能後, 便開始找尋一套開放授權的電腦辭典, 準備作為網站的 tag, 關鍵字, 其他專業用字解釋等用途.

首先注意到的是 The Linux Documentation Project 中的那套 Linux Dictionary, 但在觀看過幾個文件格式後, 覺得資料的內容與格式處理起來有點麻煩, 得濾除不少東西, 決定再找找其他的字典檔. 於是找上了 GCIDE, 這套字典檔使用 XML 格式很適合轉入 MySQL 資料庫, 但這套字典對我而言收錄的字辭過多了, 小站實在用不上如此大套的字辭. 只好再找看看有沒有比較小一點的, 最後兜了一大圈後回頭相中了 GNU 的 V.E.R.A. — Virtual Entity of Relevant Acronyms (隨後簡稱為 vera) 這套縮略字辭典, 最新的 Texinfo release 1.9 版收錄了 9203 個電腦專業領域的縮略字字辭. 這正巧吻合我初步的需求. 需要的資料總算是有了.

Read the rest of this entry »

PHP, MySQL 如何將當地時間轉換為 RFC822 時間格式

下雨天…. 無法出遊了, 網站正缺個 RSS 產生器, 看看 RSS 2.0 spec. 自己寫一個吧!
Read the rest of this entry »

分頁時可善用 MySQL SQL_CALC_FOUND_ROWS 取得資料總筆數

資料分頁的做法很多, 有先取得資料總比數, 然後位移到分頁的第一筆, 開始作單筆資料的取出, 直到取得滿足的資料筆數為止; 也有先計算開始的資料比數, 然後以 LIMIT x, y 的方式, 來取出分頁區段的資料. 不過像後者這類的做法, 在處理 page Bar 時, 還須取出符合條件的資料總筆數才能滿足作業上的需求.

Read the rest of this entry »

用 MySQL SUBSTRING() 過濾字串長度

過去自己處理後台資料表列時, 對於表列僅需要列出某個欄位的固定長度的做法, 大都是撈出資料後用 php 來處理過濾字串長度. 這次重寫自己的網站時, 嘗試直接撈出欄位固定長度字串. 基本上這只不過是原本用 php 處理的程序, 轉交給 MySQL 來處理而已, 不過這次大幅提升的 MySQL 的資源設定後, 決定讓 MySQL 來處理這類的小事情, 以利於資源分配後的負載分配. 事實上這樣改變讓 php 程式變的簡單了. 這倒也不是一件壞事. 以下是 class 的相關片段 Read the rest of this entry »

關於 PDO 建立持續連線的做法與問題

建立資料庫連線相對於其他程序的處理來說要比較耗時的, 所以審慎地處理資料, 儘量優化查詢的語法, 對撰寫程序處理而言是有所必要的. PHP 的 Database Extensions 原則都支援 “一般” 與 “持續” 兩種資料庫連線方式. 如何選擇連線方式, 最好配合實際運作的環境與條件審慎決定. 假使魯莽地認定建立持續資料庫連線就能有絕佳的實際再利用率, 無視於機器必須付出的資源與穩定性的話. 就極可能會付出相當的代價. Read the rest of this entry »

關於 PDO 的 PDOStatement->setFetchMode 使用與參照

PDOStatement->setFetchMode Set the default fetch mode for this statement

bool PDOStatement::setFetchMode ( int $mode )
bool PDOStatement::setFetchMode ( int $PDO::FETCH_COLUMN , int $colno )
bool PDOStatement::setFetchMode ( int $PDO::FETCH_CLASS , string $classname , array $ctorargs )
bool PDOStatement::setFetchMode ( int $PDO::FETCH_INTO , object $object )

Read the rest of this entry »

關於 PDO 的 setAttribute

PDO class 將一些共通的資料庫參數設定集中到 PDO::setAttribute 中, 運用 PDO 做好能掌握這些參數. 使用 PDO 得忘卻僅只是 MySQL 的想法… 自己有時會忘了這點, 再次提醒自己, 先將 PDO 官方的 PDO::setAttribute manual 轉記下來, 後面有空時再加註自己的筆記 Read the rest of this entry »