|
Модераторы: skyboy |
|
Ripperr |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 91 Регистрация: 1.11.2008 Репутация: нет Всего: нет |
Нужно получить номер периода по диапазону месяц день
К функции обращаются много кратно так как использую ее при выборке. Она тормозит выполнение запроса ... При таблице в 10к записей запрос через эту функцию выполняется в 10 раз медление чем если просто задать диапазон BETWEN в запросе чем через равно функция =1 ... Как это оптимизировать или правильно написать. Входные данные текст выходные int(1) может если смысл подавать date четсно говоря не сильно в этом. |
|||
|
||||
Akina |
|
|||
Советчик Профиль Группа: Модератор Сообщений: 20570 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 106 Всего: 453 |
ЗБС... название раздела читай внимательнее. Желательно по буквам...
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
Ripperr |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 91 Регистрация: 1.11.2008 Репутация: нет Всего: нет |
Программирование -> Базы данных -> MySQL (еще)
Что не так вопрос по функции MySQL |
|||
|
||||
Akina |
|
|||
Советчик Профиль Группа: Модератор Сообщений: 20570 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 106 Всего: 453 |
Тогда надо приводить ПОЛНЫЙ текст функции - включая дефиницию и декларации. Сейчас это выглядит как анонимка, которых в MySQL нет.
Самое простое, и при этом вполне нормальное и реляционное, решение - это создать служебную таблицу, в которой хранить соответствие (ДиапазонДат - Период). Её можно включать в источник данных запроса. А функция тогда вообще не нужна. При очень большом желании эту таблицу можно генерировать непосредственно в запросе или оформить как представление. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
Ripperr |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 91 Регистрация: 1.11.2008 Репутация: нет Всего: нет |
Что именно под диапазоном дат ты имееш ввиду.
Как задать диапазон и как потом к нему ссылаться чтобы возвращать искомую цифру квартала.
|
|||
|
||||
Akina |
|
|||
Советчик Профиль Группа: Модератор Сообщений: 20570 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 106 Всего: 453 |
Да тот диапазон, который проверяется твоими IF-ами. (От-До-Номер).
Диапазоны взяты из последней версии функции. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
Ripperr |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 91 Регистрация: 1.11.2008 Репутация: нет Всего: нет |
А запрашивать так ?
Это будет не ресурсоемко если много будет таких сверок ? |
|||
|
||||
Zloxa |
|
|||
Чо? Профиль Группа: Завсегдатай Сообщений: 3470 Регистрация: 12.9.2008 Репутация: 33 Всего: 161 |
В табилце хранить не только аргументы функции, но и ее результат, по которому осуществлвять отбор. -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка |
|||
|
||||
Ripperr |
|
||||
Шустрый Профиль Группа: Участник Сообщений: 91 Регистрация: 1.11.2008 Репутация: нет Всего: нет |
Попробовал но есть вопрос у меня было запрос типа
Чтобы заменить это я добавляю
Просто вместо одной функции приходится вводить много текста ((( Это сообщение отредактировал(а) Ripperr - 10.9.2017, 16:57 |
||||
|
|||||
Akina |
|
|||
Советчик Профиль Группа: Модератор Сообщений: 20570 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 106 Всего: 453 |
Заботиться надо об эффективности создаваемого кода, а не о количестве потраченных на него байтов...
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | MySQL | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |