Helo?. Od niedawna bawi? si? w MTA j?zykami bazodanowymi (czyli wbudowanymi SQLite i MySQL). Niby nauczy?em si? ju? wykonywa? podstawowe zapytania, ale jak widz?, SQLite jest ponad 10 razy wolniejsze przy wykonywaniu SELECT. Zastosowa?em transakcje, kt?re powinny by? wsz?dzie dla tego j?zyka (zastosowa?em si? do tego poradnika), wykonuj? zapytania [b]250,000[/b] razy (!) i z tego co zauwa?y?em:
- INSERT w SQLite dzia?a o kilkana?cie, czasem kilkaset milisekund szybciej (!)
- SELECT w SQLite dzia?a o ponad 10 razy wolniej
Dla test?w w??czy?em te? transakcje dla obu j?zyk?w (tak mi poleci? Tey) i w?a?nie od tego czasu zauwa?y?em, ?e SQLite si? "krztusi". Czy da si? to jako? zoptymalizowa??
Dodam te? tekst z log?w, coby udowodni?, ?e rzeczywi?cie SQLite ma problem z wykonywaniem SELECT:
[code][10] INFO: Czas wykonania p?tli - 3917 milisekund.
[10] INFO: Po??czono z baz? danych.
[10] INFO: Pomy?lnie wype?niono tabel? w SQLite. Czas trwania to 3548 milisekund
[10] INFO: Pomy?lnie wype?niono tabel? w MySQL. Czas trwania to 3640 milisekund
[10] INFO: Pomy?lnie wybrano z tabeli. Czas trwania dla SQLite to 1678 milisekund
[10] INFO: Pomy?lnie wybrano z tabeli. Czas trwania dla MySQL to 182 milisekund[/code]
A tutaj kod:
[lua]local MySQL_HOST = "HOST"
local MySQL_USER = "USER"
local MySQL_PASS = "PASS"
local MySQL_DB = "DB"
local MySQL_PORT = 3306
local Connection = dbConnect("sqlite", &qu... |