Да не, id вычисляется в момент поста и сохраняется так. Просто номера будут не автоинкрементироваться, а вычисляться каждый раз, но поиск по ним будет ничуть не менее быстрым.
:wogun: Я предложил простое, быстрое и непредсказуемое юзерами решение. Только поправку скажу, надо хэшить не номер+слово, а предыдущий номер+слово, потому как иначе придётся ещё где-то хранить счётчик, а это не нужно.
он же алфавитный вроде, не?
Мне впадлу, да и некогда.
В смысле алфавитный?
А нах?
в смысле aaaaaa aaaaab и т.д.
Ну, последняя буква даётся рандомно, потом меняется предпоследняя (тоже рандомно) и так далее.
А как тогда, по-твоему, оно обратно в цифры переводится?
Если рандомно
ДА СКАЖИ ТЫ УЖЕ
Тогда, наверное, каждой цифре соответствует определённая буква?
h-i-s-e-g-n-z-o-t
Не-не-не, я ещё исследую.
алгоритм прост, просто инкрементируем алфавит
h-f-i-g-n-z-o-t точнее. Кстати, двоеточия опять появились, негодую.
Прикольно блин. Получается, id'шников хватит только на 99999 сообщений.
Бля, опять пропустил пару. h-f-i-s-e-g-n-z-o-t
Ахахаха, ПОНЕЛ! zero-one-two-three-four и т.д. Если буква уже есть, берётся вторая.
Ты ближе всех:-)
Yep.
Так неинтересно, давай лучше (хэш от номера + первое слово псто)[:5]
Теперь придётся опять менять алгоритм:-)
По целочисленным индексам ведь быстрее искать, ну.
Дак ты целочисленные и храни, кто тебе не даёт? В базу загоняй number.decode('hex') и всего делов.
т.е. для хэшей и id отдельную таблицу ещё хранить? Или чо, я нипонел
Да не, id вычисляется в момент поста и сохраняется так. Просто номера будут не автоинкрементироваться, а вычисляться каждый раз, но поиск по ним будет ничуть не менее быстрым.
напиши патч к бд
Будет поле id varchar(200) artsincrement not null
:wogun: Я предложил простое, быстрое и непредсказуемое юзерами решение. Только поправку скажу, надо хэшить не номер+слово, а предыдущий номер+слово, потому как иначе придётся ещё где-то хранить счётчик, а это не нужно.
обычного посоленого хеша хватит. select * from psto where CONCAT(sha1(psto.id),'arts') = sha1_hash;
вместо sha1 можно придумать любую другую хуету.
черт, опять неправильно написал, sha1(concat(psto.id), 'arts'))
Ты не заебёшься sha1 на мобиле вбивать?
думаешь, мало? ну sha512
Мало, sha512 и md5 после него, чтобы уж не промахнуться тредом.
вообще то можно брать хекс и не ебать мозг
Ну само собой, что хекс. Просто достаточно первых 5-6 символов вполне.
лучше б ты не загадки загадывал, а нормально пронумеровал цифрами. чтоб не телефоне безегеморно можно было набирать.
а мне неинтересно