URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 51537
[ Назад ]

Исходное сообщение
"Вышел релиз SQLite 3.6.12"

Отправлено opennews , 01-Апр-09 22:32 
Вышел (http://sqlite.org/releaselog/3_6_12.html) релиз SQLite 3.6.12 в котором исправлена ошибка, которая могла привести к повреждению данных при отмене выполнения vacuum в момент обработки базы, хранимой в ОЗУ; Кроме того:

-  добавлен интерфейс sqlite3_unlock_notify(), -  добавлен pragma-параметр reverse_unordered_selects, -  в CLI интерфейсе появилась команда ".genfkey" для генерации триггеров для реализации заданного внешнего ключа, -  улучшена производительность запросов с "count(*)", -  уменьшено потребление памяти при работе триггеров.

URL: http://sqlite.org/releaselog/3_6_12.html
Новость: http://www.opennet.me/opennews/art.shtml?num=21051


Содержание

Сообщения в этом обсуждении
"Вышел релиз SQLite 3.6.12"
Отправлено аноним , 01-Апр-09 22:32 
Там все также запросы вида like "abc%" не умеют использовать индексы?

"Вышел релиз SQLite 3.6.12"
Отправлено Аноним , 01-Апр-09 23:11 
>Там все также запросы вида like "abc%" не умеют использовать индексы?

IMHO, ни одна СУБД такое не умеет, при like запросах всегда перебираются все записи. Как вариант, можно оптимизировать подобное через полнотекстовые индексы в PostgreSQL и MySQL.


"Вышел релиз SQLite 3.6.12"
Отправлено Ян Злобин , 02-Апр-09 04:14 
>IMHO, ни одна СУБД такое не умеет, при like запросах всегда перебираются
>все записи. Как вариант, можно оптимизировать подобное через полнотекстовые индексы в
>PostgreSQL и MySQL.

PostgreSQL как раз умеет использовать индексы с LIKE без полнотекстового поиска.



"Вышел релиз SQLite 3.6.12"
Отправлено Аноним , 02-Апр-09 10:22 
>PostgreSQL как раз умеет использовать индексы с LIKE без полнотекстового поиска.

А вы посмотрите explain'ом, он всегда делает Seq Scan по основной таблице.


explain select login from user_param where login like 'user%';

Seq Scan on user_param (cost=0.00..1433.40 rows=36 width=11)
   Filter: (("login")::text ~~ 'user%'::text)

explain select login from user_param where login ~ '^user';

Seq Scan on user_param  (cost=0.00..1433.40 rows=36 width=11)
   Filter: (("login")::text ~ '^user'::text)

explain select login from user_param where login = 'bob';

Index Scan using profile_pkey on user_param  (cost=0.00..8.28 rows=1 width=11)
   Index Cond: (("login")::text = 'bob'::text)


PostgreSQL 8.2. Для логин "login" создан btree индекс, записей в таблице тысяч 50.


"Вышел релиз SQLite 3.6.12"
Отправлено bobah , 02-Апр-09 13:24 
>[оверквотинг удален]
>   Filter: (("login")::text ~ '^user'::text)
>
>explain select login from user_param where login = 'bob';
>
> Index Scan using profile_pkey on user_param  (cost=0.00..8.28 rows=1 width=11)
>   Index Cond: (("login")::text = 'bob'::text)
>
>
>PostgreSQL 8.2. Для логин "login" создан btree индекс, записей в таблице тысяч
>50.

при создании индекса юзайте оипцию varchar_pattern_ops и будет вам щастье like 'happy%'


"Вышел релиз SQLite 3.6.12"
Отправлено Аноним , 02-Апр-09 06:44 
>IMHO, ни одна СУБД такое не умеет

Да что вы? На btree индексах like "abc%" это абсолютно то же самое, что и ="abc". Не уметь такое стыдно.


"Вышел релиз SQLite 3.6.12"
Отправлено svn , 02-Апр-09 10:04 
>Да что вы? На btree индексах like "abc%" это абсолютно то же
>самое, что и ="abc". Не уметь такое стыдно.

Вовсе не тоже самое. строки сравниваются по правилам локализации, и это (кроме локалей C и POSIX) не совпадает с побайтным сравнением.

Не говоря уже об уникоде с его выкрутасами.


"Вышел релиз SQLite 3.6.12"
Отправлено bobah , 02-Апр-09 13:26 
при создании индекса юзайте оипцию varchar_pattern_ops и будет вам щастье like 'happy%'

"Вышел релиз SQLite 3.6.12"
Отправлено Аноним , 02-Апр-09 05:40 
Какую программу использовать для визуального редактирования БД  

Для ФареБирда есть IBExpert, для MySQL есть EMS MySQL Manager,

а для sqlite?


"Вышел релиз SQLite 3.6.12"
Отправлено Aleksey , 02-Апр-09 10:14 
>Какую программу использовать для визуального редактирования БД
>
>Для ФареБирда есть IBExpert, для MySQL есть EMS MySQL Manager,
>
>а для sqlite?

SQLite Manager
https://addons.mozilla.org/en-US/firefox/addon/5817


"Вышел релиз SQLite 3.6.12"
Отправлено eugen , 02-Апр-09 10:19 
>Какую программу использовать для визуального редактирования БД
>для sqlite?

Под Qt есть sqliteman