|
|
|
Убрать матюки из таблицы
|
|||
|---|---|---|---|
|
#18+
Здрасте. Есть таблица (пусть будет VeryCoolTable). Есть в кортеже строковый атрибут (пусть будет Koment) В этом строковом атрибуте записывается некоторый текст. Вполне возможно, что в этом тексте будет нецензурное слово Как удалить все кортежи, содержащие в поле Koment нецензурное слово? Делать WHERE Koment LIKE '%слово%' для каждого нецензурного слова не хочется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2008, 13:50 |
|
||
|
Убрать матюки из таблицы
|
|||
|---|---|---|---|
|
#18+
z_385, А какой сервер? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2008, 14:15 |
|
||
|
Убрать матюки из таблицы
|
|||
|---|---|---|---|
|
#18+
если по-простому, то delete from VeryCoolTable where exists (select * from МаюгиTable t1 where charindex(t1.BadWord,VeryCoolTable.Koment) > 0) без всяких индексов и прочего даст имхо лучшую производительность ну а если заморачиваться, то это уже, наверное, конкретную СУБД надо смотреть... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2008, 15:08 |
|
||
|
Убрать матюки из таблицы
|
|||
|---|---|---|---|
|
#18+
z_385Здрасте. Есть таблица (пусть будет VeryCoolTable). Есть в кортеже строковый атрибут (пусть будет Koment) В этом строковом атрибуте записывается некоторый текст. Вполне возможно, что в этом тексте будет нецензурное слово Как удалить все кортежи, содержащие в поле Koment нецензурное слово? Делать WHERE Koment LIKE '%слово%' для каждого нецензурного слова не хочется. Нескольо стремный вариант, например "оскорблять", "подстрахуй" и т.д. А если еще желаете словоформы захотите удалить, то вообще можно половину таблицы стереть. Вариант _newbee более правилен, но прийдется забивать все словоформы для точного вычищения. Еще один вопрос-это разовое действие или прийдется его выполнять с некоторой периодичностью? Если выполнять с периодичностью, то на мой взгляд лучше после первого прогона поставить фильтр на ввод, а то повторяющиеся ресурсоемкие операции на все возрастающей таблице дадут о себе знать со временем ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2008, 10:59 |
|
||
|
Убрать матюки из таблицы
|
|||
|---|---|---|---|
|
#18+
на посты обычно вешается полнотекстовый индекс. Лучше его заюзать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2008, 13:26 |
|
||
|
Убрать матюки из таблицы
|
|||
|---|---|---|---|
|
#18+
можно ещё регекспом WHERE Koment REGEXP '[[:<:]]word[[:>:]]'. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2008, 13:32 |
|
||
|
Убрать матюки из таблицы
|
|||
|---|---|---|---|
|
#18+
хотел бы я глянуть на будущий справочник матюков... :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2008, 22:42 |
|
||
|
Убрать матюки из таблицы
|
|||
|---|---|---|---|
|
#18+
Бесполезно. Там - одни звездочки... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2008, 22:45 |
|
||
|
Убрать матюки из таблицы
|
|||
|---|---|---|---|
|
#18+
maXmoна посты обычно вешается полнотекстовый индекс. Лучше его заюзать. Это если индекс УЖЕ есть и используется по назначению (многократный поиск по разным наборам слов). Если его еще надо строить, или если он больше ни для чего не используется, то, очевидно, выигрыша он дать не может. Дело ведь в том, что поиск выполняется для удаления, т.е. для каждого поста он выполняется ровно один раз; а значит полнотекстовый индекс тут теряет свой самый главный смысел. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2008, 13:01 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=35645256&tid=1344860]: |
0ms |
get settings: |
7ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
179ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
| others: | 203ms |
| total: | 463ms |

| 0 / 0 |
