уже с десяток функций и алгоритмов на этом варианте завязано.
дешевле фильтровать по месяцам, а дальше добивать математическим аппаратом

Ответов: 1528
Рейтинг: 57
|
|||
Tad, эх, это всё конечно здорово, но "поздно пить боржоми..".
уже с десяток функций и алгоритмов на этом варианте завязано. дешевле фильтровать по месяцам, а дальше добивать математическим аппаратом ![]() |
|||
карма: 0 |
|
Ответов: 758
Рейтинг: 112
|
|||
Chipset писал(а): А вот hitman249 писал(а)либо больше текущей даты Я пока решения не увидел, да и сам не смог решить. 20 и больше число Для варианта "7,20,17,3" => "0010001000000000100100000000000"
"7,20,17,3" => 589892
hitman249 писал(а): а что можно понять в 10000111010001 или 98654?![]() |
|||
карма: 1 |
|
Ответов: 1061
Рейтинг: 22
|
|||
hitman249 писал(а): эх, это всё конечно здорово, но "поздно пить боржоми..".уже с десяток функций и алгоритмов на этом варианте завязано. Ну, можешь перед нужным запросом конвертировать это поле, допустим в виртуальную таблицу, и уже от него отталкиваться, не? |
|||
карма: 0 |
|
Гость
Ответов: 17029
Рейтинг: 0
|
|||
Редактировалось 2 раз(а), последний 2025-01-10 23:05:16 |
|||
карма: 0 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
Выше я.
------------ Дoбавленo в 14.39: RinniX писал(а): можешь перед нужным запросом конвертировать это поле, допустим в виртуальную таблицу, и уже от него отталкиваться, не? |
|||
карма: 25 |
|
Ответов: 1061
Рейтинг: 22
|
|||
Tad писал(а): пальчиком покажи, как "инвертировать" и как "отталкиваться".Да можно в конце концов, сделать один запрос, и обрабатывать это поле и строку в самой программе и там же её если надо конвертировать для удобства во что хочешь, а можно просто разбить эту строку с разделителем "," и там уже искать нужные числа, или не вариант?! ) |
|||
карма: 0 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
RinniX, в таблице 804 000 записей. (есть у меня такая для работы и использую её для тестов тоже)
Если задать SELECT * FROM table WHERE условие; то вся таблица обрабатывается за 9-10 сек. Попробовал применить то, что ты предлагаешь: "обрабатывать это поле и строку в самой программе" - время выполнения 4 МИНУТЫ ! Разницу чувствуешь ? Да с такими темпами - 15 запросов в час - оператор сойдет с ума. |
|||
карма: 25 |
|
Ответов: 1061
Рейтинг: 22
|
|||
Tad, Смотря какая таблица! В данном случае, лучше применить обработку через программу, т.к. запрос будет уже идти по году и месяцу, согласись, только это уже сокращает количество записей во много раз, + он ещё их отсортирует в том-же запросе по числу "Текущая дата", что сократит ещё на половину, условно, и что в итоге? Нетрудно догадаться, что количество строк будет достаточно мало для обработки программой! )
|
|||
карма: 0 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
RinniX, не занимайся болтологией - где у него "Текущая дата" ?
Tad писал(а): пальчиком покажиКакой запрос обсуждаем: Вывести все записи у которых есть 2. Все, а не за месяц и год. |
|||
карма: 25 |
|
Ответов: 1061
Рейтинг: 22
|
|||
hitman249 писал(а): Исходные данные: "Текущая дата".Смотри первый пост! ------------ Дoбавленo в 17.20: Думаю что программа может достаточно быстро обработать запрос и без включения в условие "Текущая дата". |
|||
карма: 0 |
|
Ответов: 1528
Рейтинг: 57
|
|||
Tad,
Tad писал(а): в таблице 804 000 записейдобавлю от себя. вот поэтому я и не хочу плодить тысячи строк. если брать расклад на каждый чих 1 запись, то чтобы записать всего одну строку мне потребуется 30-31 в месяце, 1 дата, 7 в неделе, 24 в часах, 6 в минутах, 1 важность, 1 позиция, 1 режим, 1 head запись итого: 73 строк на запоминание 1 записи, сейчас 9. (или к примеру 804000/73=11014) |
|||
карма: 0 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
hitman249 писал(а): Исходные данные: "Текущая дата".
Требуется выдать значения которые равны текущей дате либо больше текущей даты. Извини, не обратил внимание. ![]() ------------ Дoбавленo в 17.35: hitman249 писал(а): сейчас 8.А создал бы таблицу так, как предложили выше и нет геммороя. hitman249 писал(а): но "поздно пить боржоми..". |
|||
карма: 25 |
|
Ответов: 1528
Рейтинг: 57
|
|||
Tad, всё на пользу
![]() где-то убавилось, где-то прибавилось. всё не предусмотришь, но выгрузку по 40 минут из-за N миллионов строк как в 1С, я видеть не хочу |
|||
карма: 0 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
hitman249 писал(а): всё не предусмотришь------------ Дoбавленo в 19.16: hitman249 писал(а): если брать расклад на каждый чих 1 запись, то чтобы записать всего одну строку мне потребуется
30-31 в месяце, 1 дата, 7 в неделе, 24 в часах, 6 в минутах, 1 важность, 1 позиция, 1 режим, 1 head запись Сколько у тебя объектов - незнаю. Сам умножь 366 на число объектов, получишь число записей в БД за год. И запрос простейший SELECT * FROM rules_month WHERE date(Data)>= date('now'); и никакой головной боли. |
|||
карма: 25 |
|
Ответов: 186
Рейтинг: 9
|
|||
Tad писал(а): таблице 804 000 записейПроверь мою конструкцию на своей таблице. Очень интересно какая скорость получится. Я думаю это костыль ![]() code_31808.txt |
|||
карма: 0 |
| ||
файлы: 1 | code_31808.txt [3.4KB] [209] | ||
Голосовали: | hitman249 |