[Comm] Производительность SQLite!
Roman Savochenko
=?iso-8859-1?q?rom=5Fas_=CE=C1_diyaorg=2Edp=2Eua?=
Вт Ноя 30 19:08:41 MSK 2004
Evgeniy Kobzev wrote:
> Roman Savochenko пишет:
>
>> В дополнении к вопросу производительности возникло ещё парочка:
>> - Как получить, просто, список колонок в таблице?
>> В MySQL это делается запросом типа <SELECT * FROM "tbl1" WHERE 0>
>
> В MySQL в ответ на такой запрос получим:
> mysql> select * from contacts where 0;
> Empty set (0.00 sec)
>
> Видимо имелось ввиду
> SHOW FIELDS FROM contacts;
В C-API при запросе <select * from contacts where 0;>
Возвращается шапка.
> А в SQLite это скорее всего
> sqlite> .schema
>
> или
>
> sqlite> PRAGMA table_info(test2);
> cid name type notnull dflt_value pk
> ---------- ---------- ---------- ---------- ---------- ----------
> 0 name TEXT 0 1
> 1 num DOUBLE 0 0
> 2 TABLE TEXT 0 0
Спасибо вещь полезная. А чего нибуть стандартного нет?
>> CREATE TABLE "test2" ("name" TEXT PRIMARY KEY, "num" DOUBLE, "TABLE"
>> TEXT);
>> Ругается: <Request error: near "TABLE": syntax error>.
>
> - Есть имена колонок на которые SQLite ругается. Например на запрос:
>
> Неправда.
>
> sqlite> .schema test2
> CREATE TABLE "test2" ("name" TEXT PRIMARY KEY, "num" DOUBLE, "TABLE"
> TEXT);
>
> Как видите - всё создалось.
> Просто помните про, 'TABLE', "TABLE" и [TABLE]
> Почитайте про ключевые слова.
Из командной строки работает, а вот через C-API имеем:
//==============================================================
TEST 03: query: <CREATE TABLE "controllers" ("NAME" TEXT PRIMARY KEY
,"MODUL" TEXT ,"BDTYPE" TEXT ,"BDNAME" TEXT ,"TABLE" TEXT );>
SYS| kernel1:Controller:sqlite: near "TABLE": syntax error
//==============================================================
Или он там экранирует ковычки?
P.S. С производительностью разобрался. Надо брать в <BEGIN; expresion;
COMMIT;>
С уважением Роман!
Подробная информация о списке рассылки community