Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Как оптимально сохранить диапазон значений

Сообщения:  [1-10]   [11-14] 

 
 автор: Valick   (08.02.2013 в 17:28)   письмо автору
 
   для: Igorek   (08.02.2013 в 16:44)
 

это подстава :)

  Ответить  
 
 автор: Igorek   (08.02.2013 в 16:44)   письмо автору
 
   для: Valick   (08.02.2013 в 16:16)
 

у меня было
CREATE TABLE `t` (
    `t` VARCHAR(50) NULL DEFAULT NULL
)

так что все норм)

  Ответить  
 
 автор: Valick   (08.02.2013 в 16:16)   письмо автору
 
   для: Igorek   (08.02.2013 в 15:27)
 

только не 't' а 'p'
SUBSTRING_INDEX(`p`, '-',1)

  Ответить  
 
 автор: Igorek   (08.02.2013 в 15:27)   письмо автору
 
   для: Tamplier   (08.02.2013 в 12:14)
 

не знаю о какой оптимальности может идти речь, учитывая обозначенные рамки. индекс видимо тут никакой не построишь и все равно придется полный перебор при поиске делать. как-то так (если разделитель: '-'):
SELECT *
FROM t
WHERE 13.23 BETWEEN
SUBSTRING_INDEX(t, '-',1) AND SUBSTRING_INDEX(t, '-',-1)

  Ответить  
 
 автор: Lotanaen   (08.02.2013 в 15:11)   письмо автору
 
   для: Tamplier   (08.02.2013 в 14:54)
 

...

  Ответить  
 
 автор: Tamplier   (08.02.2013 в 14:54)   письмо автору
 
   для: Sfinks   (08.02.2013 в 14:25)
 

>Если есть, то так и не понятно в чем проблема.

Проблема и вопрос в том. в каком виде оптимальнее хранить данные и как осуществлять потом поиск по такому полю. К примеру в поле значение от 5 до 12, как оптимальнее искать попадание в диапазон?

  Ответить  
 
 автор: Tamplier   (08.02.2013 в 14:49)   письмо автору
 
   для: Valick   (08.02.2013 в 14:08)
 

Да я думал над разными формами, пример:

12.3,18
12.3-18
12.3(18)

Вот думаю как это организовать так, чтобы поиск легче реализовывать.
Там не туполобость, а просто определенные рамки сайта.

  Ответить  
 
 автор: Tamplier   (08.02.2013 в 14:42)   письмо автору
 
   для: Valick   (08.02.2013 в 14:37)
 

Совершенно верно, проверки могу поставить любые. Вопрос в том в какой форме это дело хранить и как оптимальнее организовать поиск по данному полю.

  Ответить  
 
 автор: Valick   (08.02.2013 в 14:37)   письмо автору
 
   для: Sfinks   (08.02.2013 в 14:25)
 

речь не о вставке, а о проверке попадания в диапазон указанный в этом поле

  Ответить  
 
 автор: Sfinks   (08.02.2013 в 14:25)   письмо автору
 
   для: Tamplier   (08.02.2013 в 14:00)
 

А есть возможность проверить значения на клиенте до вставки в БД?
Если есть, то так и не понятно в чем проблема.
Если нет, то единственный (известный мне) способ - написать триггер BEFORE INSERT, в нем проверять диапазон, дальше по необходимости, либо изменять значение на предельно допустимое, либо генерировать ошибку.

  Ответить  

Сообщения:  [1-10]   [11-14] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования