Zaloguj się by uzyskać pełen dostęp. Nie masz jeszcze konta? Założ je już teraz w kilka sekund.
GTAONLINE.PL
Tematy otagowane jako: quotselectquot
1. Przyspieszenie "SELECT" w SQLite - da się szybciej
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...