顯示具有 database 標籤的文章。 顯示所有文章
顯示具有 database 標籤的文章。 顯示所有文章

2015-02-03

SQLite 最佳化

http://web.utk.edu/~jplyon/sqlite/SQLite_optimization_FAQ.html

Fast Bulk Inserts into SQLite

Fast Bulk Inserts into SQLite
http://blog.quibb.org/2010/08/fast-bulk-inserts-into-sqlite/

Finding Duplicates with SQL
SELECT email, COUNT(email) AS NumOccurrences FROM users GROUP BY email HAVING ( COUNT(email) > 1 )

Finding rows that occur exactly once
SELECT email FROM users GROUP BY email HAVING ( COUNT(email) = 1 )

SQL 參數化查詢

MySQL
MySQL 的參數格式是以 "?" 字元加上參數名稱而成。
UPDATE myTable SET c1 = ?c1, c2 = ?c2, c3 = ?c3 WHERE c4 = ?c4

PostgreSQL/SQLite
PostgreSQL 和 SQLite 的參數格式是以 「:」 加上參數名而成。當然,也支援類似 Access 的匿名參數。
UPDATE "myTable" SET "c1" = :c1, "c2" = :c2, "c3" = :c3 WHERE "c4" = :c4

參數化查詢是防止SQL Injection的另一種方法,但對我目前的case來說沒必要,
mysql_real_escape_string 就能搞定的東西我認為沒必要再複雜化,
或用Active Record就已經處理好這些問題了,
只是怕以後會用到,先學起來。

reference:
http://zh.wikipedia.org/wiki/%E5%8F%83%E6%95%B8%E5%8C%96%E6%9F%A5%E8%A9%A2