1.1, аноним (?), 22:32, 01/04/2009 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Там все также запросы вида like "abc%" не умеют использовать индексы?
| |
|
2.2, Аноним (-), 23:11, 01/04/2009 [^] [^^] [^^^] [ответить]
| +/– |
>Там все также запросы вида like "abc%" не умеют использовать индексы?
IMHO, ни одна СУБД такое не умеет, при like запросах всегда перебираются все записи. Как вариант, можно оптимизировать подобное через полнотекстовые индексы в PostgreSQL и MySQL.
| |
|
3.3, Ян Злобин (?), 04:14, 02/04/2009 [^] [^^] [^^^] [ответить]
| +/– |
>IMHO, ни одна СУБД такое не умеет, при like запросах всегда перебираются
>все записи. Как вариант, можно оптимизировать подобное через полнотекстовые индексы в
>PostgreSQL и MySQL.
PostgreSQL как раз умеет использовать индексы с LIKE без полнотекстового поиска.
| |
|
4.9, Аноним (-), 10:22, 02/04/2009 [^] [^^] [^^^] [ответить]
| +/– |
>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.
| |
|
5.10, bobah (?), 13:24, 02/04/2009 [^] [^^] [^^^] [ответить]
| +/– |
>[оверквотинг удален]
> 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%'
| |
|
|
3.5, Аноним (-), 06:44, 02/04/2009 [^] [^^] [^^^] [ответить]
| +/– |
>IMHO, ни одна СУБД такое не умеет
Да что вы? На btree индексах like "abc%" это абсолютно то же самое, что и ="abc". Не уметь такое стыдно.
| |
|
4.6, svn (??), 10:04, 02/04/2009 [^] [^^] [^^^] [ответить]
| +/– |
>Да что вы? На btree индексах like "abc%" это абсолютно то же
>самое, что и ="abc". Не уметь такое стыдно.
Вовсе не тоже самое. строки сравниваются по правилам локализации, и это (кроме локалей C и POSIX) не совпадает с побайтным сравнением.
Не говоря уже об уникоде с его выкрутасами.
| |
|
5.11, bobah (?), 13:26, 02/04/2009 [^] [^^] [^^^] [ответить]
| +/– |
при создании индекса юзайте оипцию varchar_pattern_ops и будет вам щастье like 'happy%'
| |
|
|
|
|
1.4, Аноним (-), 05:40, 02/04/2009 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Какую программу использовать для визуального редактирования БД
Для ФареБирда есть IBExpert, для MySQL есть EMS MySQL Manager,
а для sqlite?
| |
|
2.8, eugen (?), 10:19, 02/04/2009 [^] [^^] [^^^] [ответить]
| +/– |
>Какую программу использовать для визуального редактирования БД
>для sqlite?
Под Qt есть sqliteman
| |
|
|