powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Помогите с запросом
24 сообщений из 49, страница 2 из 2
Помогите с запросом
    #39981829
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlekZА зачем индексация по датам? Какие плюсы?
зачем нужно оглавление в книге? чтобы быстро найти нужный раздел. А без оглавления придется каждый раз всю книгу читать от начала до конца.
...
Рейтинг: 0 / 0
Помогите с запросом
    #39981831
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlekZФайрБирде
не удержался :-)
"файрбирд" - это огненная борода (или рыжая борода), firebeard.
А Firebird - это огненная птица, файербёрд. Бёрд, не "бирд".
...
Рейтинг: 0 / 0
Помогите с запросом
    #39981835
AlekZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kdv,

нужны ли в оглавлении ссылки на каждую точку, а на запятую?
Четкого ТЗ нет, что завтра в этой БД искать придется и какой отчет родить-никто не знает. Делать все поля индексами?

alekcvp , - 22 минуты выполнялся итоговый запрос... и выдал только "нулевые" позиции.
...
Рейтинг: 0 / 0
Помогите с запросом
    #39981841
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlekZДелать все поля индексами?
только те, по которым чаще всего идет поиск.
...
Рейтинг: 0 / 0
Помогите с запросом
    #39981842
KreatorXXI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlekZ
Или индекс и ключ не одно и тоже?

Ну а ключ по дате есть? Что такое ключ?
...
Рейтинг: 0 / 0
Помогите с запросом
    #39981846
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlekZЧеткого ТЗ нет, что завтра в этой БД искать придется и какой отчет родить-никто не знает.

Я не буду оригинальничать и предложу оторвать руки проектировщику БД. Её надо просто
выкинуть и сделать заново со следующими таблицами:
1. Справочник категорий.
2. Справочник товаров (с каноническими названиями).
3. Список синонимов (с толпой левых названий и указанием к какому каноническому товару они
относятся).
4. Таблица продаж (движений).

Всё. С этой структурой уже можно работать, искать что угодно и плодить любые отчёты.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Помогите с запросом
    #39981848
AlekZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
KreatorXXI, это я у вас спросил. Ключ для меня ключевое поле, насколько знаю (потеет как на экзамене) бывает примари кей (и еще какой-то мать его кей). Я их по старинке зову ИД. А поскольку дата не может быть конкретным ИД, то я ее ключем не считаю. Можно её использовать как составной ключ, но у нас уже есть ИД, который точно указывает на конкретную запись. Поэтому использовать Дату как ключ-избыточно.
Я прошел собеседование? :)

Dimitry Sibiryakov , ну учитывая что это я, можете мне хоть ногу оторвать.
Легче работать мне от этого не станет, ведь я и прогу напиши и базу сочини и макет нарисуй. Давайте я не буду тут жаловаться на жизнь и как я до этого докатился. Но вот. Переделать БД можно, до сегодняшнего дня она вполне удовлетворяла всех. Переделывать, чтобы потом всплыла новая хотелка-чтобы опять все стены передвигать, учитывая зарплату 100 рублей в час-не самая разумная идея. Ладно бы я мог сказать-извините делаю БД, подождите с другими тасками...нет, иди паши за 5рых, за 100 рублей.
...
Рейтинг: 0 / 0
Помогите с запросом
    #39981850
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv
А Firebird - это огненная птица, файербёрд. Бёрд, не "бирд".

А что, отличный логотип для Legacy-версий 😂
AlekZ
alekcvp , - 22 минуты выполнялся итоговый запрос... и выдал только "нулевые" позиции.

Странно, на ваших тестовых данных всё работает.
...
Рейтинг: 0 / 0
Помогите с запросом
    #39981853
AlekZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alekcvp, может проскролил и не заметил. Убрал дату из запроса-она все равно не нужна(пока не нужна). Еще 20 минут и узнаем :)
Скорее всего откажемся от этой хотелки. Либо отдельный запрос нулевых продаж будет.
...
Рейтинг: 0 / 0
Помогите с запросом
    #39981867
KreatorXXI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlekZ
KreatorXXI, это я у вас спросил. Ключ для меня ключевое поле, насколько знаю (потеет как на экзамене) бывает примари кей (и еще какой-то мать его кей). Я их по старинке зову ИД. А поскольку дата не может быть конкретным ИД, то я ее ключем не считаю. Можно её использовать как составной ключ, но у нас уже есть ИД, который точно указывает на конкретную запись. Поэтому использовать Дату как ключ-избыточно.
Я прошел собеседование? :)

Dimitry Sibiryakov , ну учитывая что это я, можете мне хоть ногу оторвать.
Легче работать мне от этого не станет, ведь я и прогу напиши и базу сочини и макет нарисуй. Давайте я не буду тут жаловаться на жизнь и как я до этого докатился. Но вот. Переделать БД можно, до сегодняшнего дня она вполне удовлетворяла всех. Переделывать, чтобы потом всплыла новая хотелка-чтобы опять все стены передвигать, учитывая зарплату 100 рублей в час-не самая разумная идея. Ладно бы я мог сказать-извините делаю БД, подождите с другими тасками...нет, иди паши за 5рых, за 100 рублей.


Послушайте, это же клиника. Самый лучший вариант - пойти туда, где всплывают хотелки и сказать, что за 100 рублей я даже книгу по теории БД не открою. И скуль мне не упёрся, и файрбирд. За 100 рублей-то!
ВЫ контору свою озвучьте! Я что-то не верю в существовании такой богадельни, как Вы тут описываете.
...
Рейтинг: 0 / 0
Помогите с запросом
    #39981873
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv
"файрбирд" - это огненная борода (или рыжая борода), firebeard.
Barbarossa :)
...
Рейтинг: 0 / 0
Помогите с запросом
    #39981882
AlekZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
KreatorXXI, я не про лень свою, я про то что ДБА мне тут не светит и спокойно заниматься архитектурой и вылизыванием. Роста в этом направлении не будет. Зачем тогда мучить себя-ведь все равно не получишь конфетку (как продукт, так и премию)?
Более того, давайте приоткрою страшную тайну:
-в одном из случаев Категория товара берется из файла (выгрузки из БД, сформированной в другой программе тетенькой и присланной на емайл). При этом достоверность данных никто не гарантирует.
-в других случаях Категория определяется Таблицей Рокеровка
Как Вам такое?

Смысла нет-если система изначальна хромая. Есть уже БД из которой все могли нормально выгрузить, но нет (проблема управления и прочих элементов власти). В итоге часть выгрузки из БД распечаткой приходит, часть на Емайл, другую часть лучше мы руками будем вести Эксель файл. Вы тут хотите что-то сделать нормальное? Серьезно? без рычагов управления-анрил...А я глядя на ЗП-занимаю пост чуть выше уборщицы, так что порядка не будет :) ИТ- тут не главное...

А про ЗП, Вы приезжайте в Замкадье тут много вакансий на минималочку 12 тыр, на 15 тыр, на 20 тыр (как у меня). Ни в чем себе не отказывайте. Контору говорить не буду-тут не ошибетесь, суйтесь в любую.
...
Рейтинг: 0 / 0
Помогите с запросом
    #39981885
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlekZКак Вам такое?

Совершенно пофиг, обрабатывается точно так же как и всё остальное: через таблицу синонимов
в структуре, описанной мною выше.

Запрос сводится к тривиальной паре левых джоинов, но с условием по дате оптимизируется
дерьмово, да.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Помогите с запросом
    #39981891
AlekZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov,
у меня также и обрабатывается, если мы про парсер говорим. Только в одном случае таблица игнорируется-и данные берутся из исходника. В другом случае за данными мы лезем в таблицу (за синонимом, за рокеровкой).
В любом случае это костыли, которыми в конечном итоге хвалиться не придется.

Левые джойны почему-то вообще туго выполняются. Пишешь инер-мигом, пишешь лефт-все минута пошла...

Структура если и будет ковыряться-то позже, например вылезет косяк с основными запросами-станут выполняться не за секунду, а за минуту. но пока данные за 3 или уже 4 года (лень смотреть) и летает. Но тут мало данных. На SQL давно делал базу для АТСки, вот там данных вагон-приходилось разбивать по годам.


alekcvp , да, то что надо-проскролил видимо. Но выполнялся 1 час 6 минут :)) Забью я наверное на эту хотелку. Я все равно знаю что еще хотелок навылезает у пользователей, там и посмотрим как лучше переделать.
...
Рейтинг: 0 / 0
Помогите с запросом
    #39981900
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlekZ
Но выполнялся 1 час 6 минут :)) Забью я наверное на эту хотелку.

Сколько записей в этих двух таблицах? И за какой интервал делалась выборка?
...
Рейтинг: 0 / 0
Помогите с запросом
    #39981905
AlekZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alekcvp, интервал дат 01.04.20-30.06.20 , по этому интервалу 605 записей в Альфе, всего строк в Альфе: 42 664 (в рокеровке: 1536). Если я правильно посмотрел:

Код: plsql
1.
select COUNT(*) from rokerovka



reads: 389 989 415
Тут реально не Ваш косяк-оптимизации нет никакой.
...
Рейтинг: 0 / 0
Помогите с запросом
    #39981906
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YouTube Video
...
Рейтинг: 0 / 0
Помогите с запросом
    #39981913
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlekZ
интервал дат 01.04.20-30.06.20 ... в рокеровке: 1536

То есть обработка по ~140 тысячам записей, на каждую из них надо просмотреть ~42к записей в alfa... ну тогда не удивительно :)
...
Рейтинг: 0 / 0
Помогите с запросом
    #39981921
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlekZ
reads: 389 989 415
Тут реально не Ваш косяк-оптимизации нет никакой.


Сделал отдельные индексы по alfa.id_new_name, alfa.dat, rokerovka.vid, rokerovka.category.
Результат для 1500 записей в рокеровке и 42000 записей в альфа:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
План
PLAN SORT (JOIN (JOIN (G NATURAL, R NATURAL), A INDEX (A_IDX2)))

------ Информация о производительности ------
Время подготовки запроса = 0ms
Время выполнения запроса = 5s 859ms
Среднее время на получение одной записи = 5 859,00 ms
Current memory = 79 685 984
Max memory = 79 707 376
Memory buffers = 2 048
Reads from disk to cache = 0
Writes from cache to disk = 0
Чтений из кэша = 8 633 475
...
Рейтинг: 0 / 0
Помогите с запросом
    #39981931
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlekZТолько в одном случае таблица игнорируется-и данные берутся из исходника. В другом случае
за данными мы лезем в таблицу (за синонимом, за рокеровкой).

Это неправильно. Таблица синонимов вообще не должна в запросе участвовать. Только таблица
"настоящих" артикулов.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Помогите с запросом
    #39982056
Vlad F
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv,

Да уж, парни. А рокеровка у него, вестимо, от слова рокер.
Велика и могуча современная языка.
...
Рейтинг: 0 / 0
Помогите с запросом
    #39982084
fraks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vlad F
kdv,

Да уж, парни. А рокеровка у него, вестимо, от слова рокер.
Велика и могуча современная языка.


У меня аж кровь из глаз от этого слова :)
...
Рейтинг: 0 / 0
Помогите с запросом
    #39982121
WildSery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vlad F
А рокеровка у него, вестимо, от слова рокер.
Разумеется.
Раньше в Брянске музыкальный фестиваль был "ROKERovka"
А ещё на ютубе есть такой канал.
...
Рейтинг: 0 / 0
Помогите с запросом
    #39982134
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WildSery
А ещё на ютубе есть такой канал.
в ставке гитлера все малахольные... (С)
...
Рейтинг: 0 / 0
24 сообщений из 49, страница 2 из 2
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Помогите с запросом
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]