国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 數(shù)據(jù)庫(kù) > SQLite > 正文

SQLite與其他數(shù)據(jù)庫(kù)的速度比較(2)

2024-09-07 00:10:04
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

測(cè)試2:在事務(wù)處理程序中的 25000 INSERTs

BEGIN;
CREATE TABLE t2(a INTEGER, b INTEGER, c VARCHAR(100));
INSERT INTO t2 VALUES(1,59672,'fifty nine thousand six hundred seventy two');
... 24997 lines omitted
INSERT INTO t2 VALUES(24999,89569,'eighty nine thousand five hundred sixty nine');
INSERT INTO t2 VALUES(25000,94666,'ninety four thousand six hundred sixty six');
COMMIT;
PostgreSQL: 4.900
MySQL: 2.184
SQLite 2.7.6: 0.914
SQLite 2.7.6 (nosync): 0.757

當(dāng)所有的INSERTs被放入一個(gè)事務(wù)處理程序時(shí),SQLite不在需要關(guān)閉再打開(kāi)數(shù)據(jù)庫(kù),或者使各個(gè)語(yǔ)句間的高速緩存器無(wú)效。在結(jié)束之前它也不用再執(zhí)行fsync()s。當(dāng)解決了這個(gè)問(wèn)題后SQLite 比PostgreSQL和MySQL快很多。.

測(cè)試 3: 在編入索引表格中的25000 INSERTs

BEGIN;
CREATE TABLE t3(a INTEGER, b INTEGER, c VARCHAR(100));
CREATE INDEX i3 ON t3(c);
... 24998 lines omitted
INSERT INTO t3 VALUES(24999,88509,'eighty eight thousand five hundred nine');
INSERT INTO t3 VALUES(25000,84791,'eighty four thousand seven hundred ninety one');
COMMIT;
PostgreSQL: 8.175
MySQL: 3.197
SQLite 2.7.6: 1.555
SQLite 2.7.6 (nosync): 1.402

有報(bào)告說(shuō)SQLite在編入索引的表格中表現(xiàn)的不是很好。這個(gè)測(cè)試證明事實(shí)不是這樣的,雖然SQLite在創(chuàng)建索引登錄時(shí)不是很快,但它整體的速度仍是比PostgreSQL和MySQL快。

測(cè)試 4:沒(méi)有索引的 100 SELECTs

BEGIN;
SELECT count(*), avg(b) FROM t2 WHERE b>=0 AND b<1000;
SELECT count(*), avg(b) FROM t2 WHERE b>=100 AND b<1100;
... 96 lines omitted
SELECT count(*), avg(b) FROM t2 WHERE b>=9800 AND b<10800;
SELECT count(*), avg(b) FROM t2 WHERE b>=9900 AND b<10900;
COMMIT;
PostgreSQL: 3.629
MySQL: 2.760
SQLite 2.7.6: 2.494
SQLite 2.7.6 (nosync): 2.526

這個(gè)測(cè)試是在一個(gè)沒(méi)有索引的25000登錄表格中進(jìn)行100查詢,所以需要瀏覽一個(gè)完整的表格。 SQLite之前的版本在這個(gè)測(cè)試上比PostgreSQL和MySQL慢,但最新版本的SQLite是比前兩者都快的。

測(cè)試5: 在一個(gè)字符串比較上的100 SELECTs

BEGIN;
SELECT count(*), avg(b) FROM t2 WHERE c LIKE '%one%';
SELECT count(*), avg(b) FROM t2 WHERE c LIKE '%two%';
... 96 lines omitted
SELECT count(*), avg(b) FROM t2 WHERE c LIKE '%ninety nine%';
SELECT count(*), avg(b) FROM t2 WHERE c LIKE '%one hundred%';
COMMIT;
PostgreSQL: 13.409
MySQL: 4.640
SQLite 2.7.6: 3.362
SQLite 2.7.6 (nosync): 3.372

這個(gè)測(cè)試瀏覽 100 完整表格,但它使用字符串比較,而不是數(shù)字比較。This test still does 100 full table scans but it uses uses string comparisons instead of numerical comparisons. SQLite 比PostgreSQL快三倍,比MYSQL快30%。

Test 6: Creating an index

CREATE INDEX i2a ON t2(a);
CREATE INDEX i2b ON t2(b);
PostgreSQL: 0.381
MySQL: 0.318
SQLite 2.7.6: 0.777
SQLite 2.7.6 (nosync): 0.659
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 广德县| 德阳市| 舟曲县| 油尖旺区| 广东省| 苏州市| 台中县| 图木舒克市| 九龙坡区| 夏津县| 资兴市| 屯昌县| 洛南县| 门头沟区| 沧源| 上高县| 忻城县| 古交市| 乌审旗| 从化市| 饶平县| 秦安县| 商南县| 额尔古纳市| 泰兴市| 西平县| 南岸区| 广灵县| 亚东县| 卢湾区| 调兵山市| 英山县| 安吉县| 钟山县| 丰城市| 离岛区| 神木县| 元氏县| 安图县| 原阳县| 金平|