sqliteÐÔÄÜÓÅ»¯
Ö÷Ҫͨ¹ýpragmaÖ¸ÁîÀ´ÊµÏÖ¡£
±ÈÈ磺 ¿Õ¼äÊÍ·Å¡¢´ÅÅÌͬ²½¡¢Cache´óСµÈ¡£
²»Òª´ò¿ª¡£Ç°ÎÄÌá¸ßÁË£¬VacuumµÄЧÂʷdz£µÍ£¡
PRAGMA auto_vacuum;
PRAGMA auto_vacuum = 0 | 1;
²éѯ»òÉèÖÃÊý¾Ý¿âµÄauto-vacuum±ê¼Ç¡£
Õý³£Çé¿öÏ£¬µ±Ìá½»Ò»¸ö´ÓÊý¾Ý¿âÖÐɾ³ýÊý¾ÝµÄÊÂÎñʱ£¬Êý¾Ý¿âÎļþ²»¸Ä±ä´óС¡£Î´Ê¹ÓõÄÎļþÒ³±»±ê¼Ç²¢ÔÚÒÔºóµÄÌí¼Ó²Ù×÷ÖÐ ÔÙ´ÎʹÓá£ÕâÖÖÇé¿öÏÂʹÓÃVACUUMÃüÁîÊÍ·Åɾ³ýµÃµ½µÄ¿Õ¼ä¡£
µ±¿ªÆôauto-vacuum£¬µ±Ìá½»Ò»¸ö´ÓÊý¾Ý¿âÖÐɾ³ýÊý¾ÝµÄÊÂÎñʱ£¬Êý¾Ý¿âÎļþ×Ô¶¯ÊÕËõ£¬ (VACUUMÃüÁîÔÚauto-vacuum¿ªÆôµÄÊý¾Ý¿âÖв»Æð×÷ÓÃ)¡£Êý¾Ý¿â»áÔÚÄÚ²¿´æ´¢Ò»Ð©ÐÅÏ¢ÒÔ±ãÖ§³ÖÕâÒ»¹¦ÄÜ£¬ÕâʹµÃ Êý¾Ý¿âÎļþ±È²»¿ªÆô¸ÃÑ¡ÏîʱÉÔ΢´óһЩ¡£
Ö»ÓÐÔÚÊý¾Ý¿âÖÐ佨Èκαíʱ²ÅÄܸıäauto-vacuum±ê¼Ç¡£ÊÔͼÔÚÒÑÓбíµÄÇé¿öÏÂÐ޸IJ»»áµ¼Ö±¨´í¡£
½¨Òé¸ÄΪ8000
PRAGMA cache_size;
PRAGMA cache_size = Number-of-pages;
²éѯ»òÐÞ¸ÄSQLiteÒ»´Î´æ´¢ÔÚÄÚ´æÖеÄÊý¾Ý¿âÎļþÒ³Êý¡£Ã¿Ò³Ê¹ÓÃÔ¼1.5KÄڴ棬ȱʡµÄ»º´æ´óСÊÇ2000. ÈôÐèҪʹÓøıä´óÁ¿¶àÐеÄUPDATE»òDELETEÃüÁ²¢ÇÒ²»½éÒâSQLiteʹÓøü¶àµÄÄÚ´æµÄ»°£¬¿ÉÒÔÔö´ó»º´æÒÔÌá¸ßÐÔÄÜ¡£
µ±Ê¹ÓÃcache_size pragma¸Ä±ä»º´æ´óСʱ£¬¸Ä±ä½ö¶Ôµ±Ç°¶Ô»°ÓÐЧ£¬µ±Êý¾Ý¿â¹Ø±ÕÖØÐ´ò¿ªÊ±»º´æ´óС»Ö¸´µ½È±Ê¡´óС¡£ ÒªÏëÓÀ¾Ã¸Ä±ä»º´æ´óС£¬Ê¹ÓÃdefault_cache_size pragma.
´ò¿ª¡£²»È»ËÑË÷ÖÐÎÄ×Ö´®»á³ö´í¡£
PRAGMA case_sensitive_like;
PRAGMA case_sensitive_like = 0 | 1;
LIKEÔËËã·ûµÄȱʡÐÐΪÊǺöÂÔlatin1×Ö·ûµÄ´óСд¡£Òò´ËÔÚȱʡÇé¿öÏÂ'a' LIKE 'A'µÄÖµÎªÕæ¡£¿ÉÒÔͨ¹ý´ò¿ª case_sensitive_like pragmaÀ´¸Ä±äÕâһȱʡÐÐΪ¡£µ±ÆôÓÃcase_sensitive_like£¬'a' LIKE 'A'Ϊ¼Ù¶ø 'a' LIKE 'a'ÒÀÈ»ÎªÕæ¡£
´ò¿ª¡£±ãÓÚµ÷ÊÔ
PRAGMA count_changes;
PRAGMA count_changes = 0 | 1;
²éѯ»ò¸ü¸Äcount-changes±ê¼Ç¡£Õý³£Çé¿öÏÂINSERT, UPDATEºÍDELETEÓï¾ä²»·µ»ØÊý¾Ý¡£ µ±¿ªÆôcount-changes£¬ÒÔÉÏÓï¾ä·µ»ØÒ»Ðк¬Ò»¸öÕûÊýÖµµÄÊý¾Ý——¸ÃÓï¾ä²åÈ룬Ð޸Ļòɾ³ýµÄÐÐÊý¡£ ·µ»ØµÄÐÐÊý²»°üÀ¨ÓÉ´¥·¢Æ÷²úÉúµÄ²åÈ룬Ð޸Ļòɾ³ýµÈ¸Ä±äµÄÐÐÊý¡£
PRAGMA page_size;
PRAGMA page_size = bytes;
²éѯ»òÉèÖÃpage-sizeÖµ¡£Ö»ÓÐÔÚδ´´½¨Êý¾Ý¿âʱ²ÅÄÜÉèÖÃpage-size¡£Ò³Ãæ´óС±ØÐëÊÇ2µÄÕûÊý±¶ÇÒ´óÓÚµÈÓÚ512СÓÚµÈÓÚ8192¡£ ÉÏÏÞ¿ÉÒÔͨ¹ýÔÚ±àÒëʱÐ޸ĺ궨ÒåSQLITE_MAX_PAGE_SIZEµÄÖµÀ´¸Ä±ä¡£ÉÏÏÞµÄÉÏÏÞÊÇ32768.
Èç¹ûÓж¨ÆÚ±¸·ÝµÄ»úÖÆ£¬
Ïà¹ØÎĵµ£º
ÎÒÏÖÔÚҪʹÓÃSQLite3.0´´½¨Ò»¸öÊý¾Ý¿â£¬È»ºóÔÚÊý¾Ý¿âÖд´½¨Ò»¸ö±í¸ñ¡£
Ê×ÏÈÒªÒýÈëSQLite3.0µÄlib¿â¡£È»ºó°üº¬Í·Îļþ#import <sqlite3.h>
¡¾1¡¿´ò¿ªÊý¾Ý¿â£¬Èç¹ûûÓУ¬ÄÇô´´½¨Ò»¸ö
sqlite3* database_;
-(BOOL) open{
NSArray *paths = NSSearchPathForDirectoriesInDomai ......
int column_names_printed = 0;
void print_row(int n_values, char** values)
{
int i;
for (i = 0; i < n_values; ++i) {
printf("%10s", values[i]);
}
printf("\n& ......
[±à¼±¾¶Î
]
SQLite¼ò½é
SQLite
µÚÒ»¸öAlpha°æ±¾µ®ÉúÓÚ2000Äê5ÔÂ. ÖÁ½ñÒѾÓÐ10¸öÄêÍ·ÁË. SQLiteÒ²ÓÀ´ÁËÒ»¸ö°æ±¾ SQLite 3ÒѾ·¢²¼.
¡¡¡¡SQLiteÊÇÒ»¿îÇáÐ͵ÄÊý¾Ý¿â£¬ÊÇ×ñÊØACIDµÄ¹ØÁªÊ½Êý¾Ý¿â¹ÜÀíϵͳ£¬ËüµÄÉè¼ÆÄ¿±êÊÇǶÈë
ʽµÄ£¬¶øÇÒĿǰÒѾÔںܶàǶÈëʽ²úÆ·ÖÐʹÓÃÁËËü£¬ËüÕ¼ÓÃ×ÊÔ´·Ç³£µÄµÍ£¬ÔÚǶÈëʽÉ豸ÖУ¬¿ ......
ǰһÕó×Ö×öÏîÄ¿(ǶÈëʽlinux)£¬ÓÉÓÚÒª±£´æ´óÁ¿µÄÊý¾Ý£¬¶øÇÒ×Ҫ±£´æ30ÌìµÄʱ¼ä¡£±¾À´´òËã±£´æµ½ÎļþÖУ¬Ã¿´ÎÆô¶¯Ó¦ÓóÌÐòµÄʱºòÖØÐ½âÎöÒ»±é£¬¿ÉÊǵ±Êý¾ÝÁ¿ºÜ´óµÄʱºò£¬¾Í³öÏÖЧÂʵÄÎÊÌâÁË¡£ËùÒÔ×îºó»¹ÊÇ·ÅÆúÁËʹÓÃÎļþµÄ´òË㣬¾ö¶¨Ê¹ÓÃÊý¾Ý¿â´æÈ¡Êý¾Ý¡£
linuxϵÄÊý¾Ý¿âÒ²ºÜ¶à£¬ÓпªÔ´µÄ£¬Ò²ÓÐÊշѵġ£¶ÔÓÚÎÒÃÇÀ´Ëµ£¬¿Ï ......
ÔÚ AndroidÖУ¬¶ÔÓÚÊý¾ÝµÄ´æÖü£¬Óм¸ÖÖ·½Ê½£¬ÓÐÎļþ·½Ê½£¬ÓÐÎļþʽÊý¾Ý¿â·½Ê½,Android×Ô´øÁËÒ»¸öSQLiteÊý¾Ý¿â£¬×öǶÈ뿪·¢µÄÈ˶ÔÕâ¸ö¿çƽ̨µÄ±¾µØÎļþÊý¾Ý¿âÒ»¶¨²»»áİÉú£¬ÔÚAndroid¶ÔÓÚÊý¾ÝµÄ·ÃÎÊ£¬Ìá³öÁËеķ½Ê½£¬ContentProvider·½Ê½£¬ÀàËÆÓÚMSµÄ ContentProvider·½Ê½µÄ£¬OLEDB£¬¼°ODBCͳһµÄÊý¾Ý·½Ê½¡£
ÎÒÃÇÊ×ÏÈÀ´¿´¿ ......