+7 499 990-10-21

Удаление ненужных позиций из БД ДК

Удаление ненужных позиций из БД ДК

Сообщение Бродяга_Джон » 26 окт 2011, 10:49

Возможно как-то удалить ненужные позиции из БД ДК, без полной отчистки и повторной загрузки и не вручную.
А то делали учёт при установке нового РМ и загрузили в БД весь список номеклатуры оборрота за 1,5 года (чтоб не упустить позиции, т.к. ранее чать товара и витрины в учёт шли суммой, а теперь сее непозволительно).
Список вышел на 7237 позиций, и теперь если делать визуальный поиск по наименованию - дикие тормоза (ждать можно 3-4 минуты), реальный остаток позиций где-то около 2000. РМ собрано на интеловской мамке с 525 атомом.

PS
Ещё момент кстати, поиск той же позиции в справочнике товаров занимает куда меньше времени. Если нужно вечером скину дамп базы.

PPS по очистке ответ срочно надо
Бродяга_Джон
 
Постов: 1263
Зарегистрирован: 12 окт 2010, 22:07
Откуда: Россия, Омск

Re: Удаление ненужных позиций из БД ДК

Сообщение BigAndy » 26 окт 2011, 11:32

У нас сделано проще.
Таблица ware является (заменена на) представлением. В которой не отображаются товары, которые данной точке (кассе) не поставлялись. Или остаток <=0
BigAndy
 
Постов: 461
Зарегистрирован: 29 ноя 2009, 17:11

Re: Удаление ненужных позиций из БД ДК

Сообщение Alexander » 26 окт 2011, 14:02

По какому признаку производить "зачистку"?
Alexander
 
Постов: 4992
Зарегистрирован: 16 авг 2009, 23:34
Откуда: Техподдержка ГК ДЭНСИ

Re: Удаление ненужных позиций из БД ДК

Сообщение Alexander » 26 окт 2011, 14:07

Бродяга_Джон писал(а):Список вышел на 7237 позиций, и теперь если делать визуальный поиск по наименованию - дикие тормоза (ждать можно 3-4 минуты)

7K позиций для PostgreSQL - легче легкого. Тут явно что-то не то.
Можно попробовать reindexdb LinCash.
Дамп базы скидывайте, конечно.
Alexander
 
Постов: 4992
Зарегистрирован: 16 авг 2009, 23:34
Откуда: Техподдержка ГК ДЭНСИ

Re: Удаление ненужных позиций из БД ДК

Сообщение Бродяга_Джон » 26 окт 2011, 17:02

Я не спорю что 7К это на зубок, просто смущает разница во время поиска при подборе в регистрации товара и при поиске в справочнике товара.

Может что-то в механизме поиска при подборе? На первой точке я тогда отписывал что было подтормаживание при поиске по ШК когда вводишь 2-3-4 цифры, после 4 нормально.


И всё же как удалить лишние позиции товаров?
среднее число позиций в магазане ~2500, 7К это за период просто набралось.
Бродяга_Джон
 
Постов: 1263
Зарегистрирован: 12 окт 2010, 22:07
Откуда: Россия, Омск

Re: Удаление ненужных позиций из БД ДК

Сообщение Alexander » 26 окт 2011, 18:31

Если "лишние" позиции - это позиции с количеством <= 0, тогда
Код: Выделить всё
psql -U kassir -c "delete from ware where quantity <=0"

Код: Выделить всё
psql -U kassir -c "delete from ware_barcode where internal_id NOT IN (SELECT internal_id from ware)"
Alexander
 
Постов: 4992
Зарегистрирован: 16 авг 2009, 23:34
Откуда: Техподдержка ГК ДЭНСИ

Re: Удаление ненужных позиций из БД ДК

Сообщение Бродяга_Джон » 26 окт 2011, 19:26

Alexander писал(а):Если "лишние" позиции - это позиции с количеством <= 0, тогда
Код: Выделить всё
psql -U kassir -c "delete from ware where quantity <=0"

Код: Выделить всё
psql -U kassir -c "delete from ware_barcode where internal_id NOT IN (SELECT internal_id from ware)"

спасибо, попробую. только кол-во равно 0, я загружал список с нулевым кол-ом.

PS
дамп базы LinCash_2011_10_25_12_00_50.gz кинул на почту
Бродяга_Джон
 
Постов: 1263
Зарегистрирован: 12 окт 2010, 22:07
Откуда: Россия, Омск

Re: Удаление ненужных позиций из БД ДК

Сообщение Бродяга_Джон » 27 окт 2011, 10:25

Команды помогли, спасибо, удалилось 5000 позиций.
Поиск по наименованию в подборе при регистрации продаж стал значительно быстрее.
Бродяга_Джон
 
Постов: 1263
Зарегистрирован: 12 окт 2010, 22:07
Откуда: Россия, Омск

Re: Удаление ненужных позиций из БД ДК

Сообщение BigAndy » 27 окт 2011, 11:37

Бродяга_Джон писал(а):Поиск по наименованию в подборе при регистрации продаж стал значительно быстрее.

Уменьшение на 5000 записей в таблице само по себе не может быть причиной заметного изменения скорости поиска/выборки в postgres, пусть даже там сто миллионов стопиццоттыщь одна запись.

explain analyze должен выдать причину медленного поиска. Может, не используются индексы, может индексы надо перестроить.
Может, нужно использовать full text search инструменты (но это уже к создателям Денси:касса.)
BigAndy
 
Постов: 461
Зарегистрирован: 29 ноя 2009, 17:11

Re: Удаление ненужных позиций из БД ДК

Сообщение Бродяга_Джон » 27 окт 2011, 12:17

Может, всё зависит от реализации в ПО.
Индексы - база была пустая с нуля, просто загрузали список товаров 7200 позиций с нулевым количеством, потом догрузили количество посчитанное на магазине, вот и всё. Ещё момент, самое большое время это когда в подборе начинаешь посимвольно набирать для поиска. Если предварительно ввести текст поиска и потом нажать F6 - ищет быстрее, а вот в справочнике товара в ДК - нет таких задержек в поиске (скажем так, они меньше достаточно).
Бродяга_Джон
 
Постов: 1263
Зарегистрирован: 12 окт 2010, 22:07
Откуда: Россия, Омск

След.

Вернуться в Техподдержка

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 9


cron

Кто сейчас на конференции

Сейчас посетителей на конференции: 9, из них зарегистрированных: 0, скрытых: 0 и гостей: 9 (основано на активности пользователей за последние 5 минут)
Больше всего посетителей (180) здесь было 29 апр 2024, 13:15

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 9