Форум → Программирование → PHP для идиотов → Суррогатный ключ на основе 3-х полей
Суррогатный ключ на основе 3-х полей
Страницы: ← Предыдущая страница • Следующая страница →
-
24 мая 2011 г. 18:18, спустя 2 минуты 49 секунд
мы его и делаем.
в базе нет такой таблицы, есть только objects.
делать таблицу, а потом её сливать в sphinx, это то, что предлагает dude.
не хочется много лишнего говна держать в базе. -
24 мая 2011 г. 18:19, спустя 50 секунд
artoodetoo, ты гений, я не мог сказать, еще мозг не проснулся … тока допиваю еще кружку с 2 пакетами кофе)Спустя 38 сек.vasa_c, а в сфинкс нахуй сливать? xDDDСапожник без сапог -
-
24 мая 2011 г. 18:28, спустя 4 минуты 56 секунд
mario, блин я вообще не понимаю, ну допусти есть список товаров/обявления (ага, спалился).
есть парсинг этих цен объяв во времени.
поиск будет по полям описания имени и тп - это в лысой кошке.
в любом случае есть у нас ID этого товара. и хочется видимо в дополнение к результатам из лысой кошки получить цену.
так?Сапожник без сапог -
24 мая 2011 г. 18:31, спустя 2 минуты 49 секунд
дуд
у нас есть номер_ид, дата, число(от 1 до 10). Из этого нам нужно получить уникальный первичный ключ, который в дальнейшем мы сможем получить снова. -
24 мая 2011 г. 18:40, спустя 9 минут 33 секунды
mario, ну блядь тогда все очевидно
$uniqid = base_convert($objectid.$date(05112011).$rand(0-10), 10, 64);
получишь коротенький ключ.<?
$id = 1000000;
$date = 20110511;
$rand = 5;
$str = $id.$date.$rand;
$uniqid = base_convert($str, 10, 35);
echo $uniqid;
echo "\n";
echo base_convert($uniqid, 35, 10);
echo "\n";
echo $str; die("\n\n");
или вам хочется чтобы он както еще упаковался дальше? :DСапожник без сапог -
24 мая 2011 г. 18:42, спустя 1 минуту 37 секунд
vasa_c, а в сфинкс нахуй сливать?
как ни странно для поиска по ним.
а кроме поиска данные сущности нигде не нужны, так что хранить в базе их не хочется. -
24 мая 2011 г. 19:09, спустя 27 минут 7 секунд
т.к. я гений, я подкину еще говна: у вас в условиях есть дата, наверняка будут записи не на точную дату, но на max дату <= заданной, пока значение не перекрыто следующей записью.
я прав? тогда вам нужен обычный SQL из двух запросов (или запрос с подзапросом). нахуй сфинксιιlllιlllι унц-унц -
-
24 мая 2011 г. 18:49, спустя 4 минуты 33 секунды
нужен целочистленный тип данных…
mario, ну блядь тогда все очевидно
$uniqid = base_convert($objectid.$date(05112011).$rand(0-10), 10, 64);
получишь коротенький ключ.<?
$id = 1000000;
$date = 20110511;
$rand = 5;
$str = $id.$date.$rand;
$uniqid = base_convert($str, 10, 35);
echo $uniqid;
echo "\n";
echo base_convert($uniqid, 35, 10);
echo "\n";
echo $str; die("\n\n");
или вам хочется чтобы он както еще упаковался дальше? :DСпустя 17 сек.нахуй сфинкс
тогда и ключи не понадобятся. -
24 мая 2011 г. 18:53, спустя 3 минуты 25 секунд
нужен целочистленный тип данных…
ну а чем ввиде этого числа не нравится? просто без преобразований, так числом и хранить, будет не инт 32 а инт 64 - в него то влезет точно …Сапожник без сапог -
24 мая 2011 г. 18:58, спустя 5 минут 2 секунды
в инт64 всё влезет. сам инт64 не влезет в 32-битный сфинкс. -
24 мая 2011 г. 19:09, спустя 11 минут 23 секунды
vasa_c, а, сфинкса не понимает 64 битные ключи?) не работал с ним так чтобы особо.
ну если так то это плохо)) ну хотя написав не раз гео движек для поиска по гео базам ip адресов - понимаю, что часто это может неплохо убить скорость.
а сколько всего данных в колве строк планируется примерно?Сапожник без сапог -
24 мая 2011 г. 19:13, спустя 3 минуты 45 секунд
vasa_c, а, сфинкса не понимает 64 битные ключи?) не работал с ним так чтобы особо.
понимает как и все, на 64 битной оси.ну если так то это плохо)) ну хотя написав не раз гео движек для поиска по гео базам ip адресов - понимаю, что часто это может неплохо убить скорость.
а сколько всего данных в колве строк планируется примерно?
4ккк+ -
24 мая 2011 г. 19:17, спустя 4 минуты 14 секунд
если не влезет, значит в сфинкс совать 32bit, который будет указывать на полную запись во вспомогательной таблице.
сам сфинкс чтоли не занимает места? почему так страшно завести таблицу с одним ключем и еще тремя целыми числами?ιιlllιlllι унц-унц
Страницы: ← Предыдущая страница • Следующая страница →
Пожалуйста, авторизуйтесь, чтобы написать комментарий!