|
|
|
Перевод url в числовой вид
|
|||
|---|---|---|---|
|
#18+
всем привет. стоит задача: есть много реферерров, они хранятса в мускуле. по ним будет select, т.к рефереры в текстовом виде, думаю для большей производительности нужно их переводить в некий хеш. т.е напр реферер http://yandex.ru/test.html будет иметь видь 34534593. ПО началу думал хешировать функцией мд5. но мд5 не только числа а еще и символы выдает. еще был вариант с CRC но читал что бывают совпадения на двух одинаковых строках, т.е это отбрасывается. и еще вариант с механизмом хеширования урлов для определения гуглеПР, например: Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. но сдесь выдается в хекс значении, и незнаю каким типом делать поле в таблице. подскажите какой вариант будет самым быстрым при выборке? или может быть существуют другие механизмы для оптимального хранения/поиска т.е смысл такой, что скрипту передается урл, он его кодирует и делает селек в таблицу и если есть запись то значит в системе естьтакой урл. Модератор: Arakas , пожалуйста, оформляйте код тегом SRC и попытайтесь соблюдать хотя бы основные правила русского языка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2012, 13:18:42 |
|
||
|
Перевод url в числовой вид
|
|||
|---|---|---|---|
|
#18+
Arakas, ASCII кодировка переводит символы с числа ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2012, 20:45:47 |
|
||
|
Перевод url в числовой вид
|
|||
|---|---|---|---|
|
#18+
bTree ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2012, 20:50:55 |
|
||
|
Перевод url в числовой вид
|
|||
|---|---|---|---|
|
#18+
BelowZeroTooColdArakas, ASCII кодировка переводит символы с числа вам тока дай че-нить в ASCII попереводить ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2012, 20:51:16 |
|
||
|
Перевод url в числовой вид
|
|||
|---|---|---|---|
|
#18+
Если нужна большая скорость, смотрите в сторону Redis, MongoDB и т.п. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2012, 20:52:09 |
|
||
|
Перевод url в числовой вид
|
|||
|---|---|---|---|
|
#18+
Если в хэш переводить, то можно к примеру так: Код: php 1. 2. 3. Получаем 64-битное число, которое можно хранить в MySQL поле типа BIGINT. В запрос подавать прямо в таком виде, мускул уже разберётся, что оно 16-ричное. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2012, 23:00:55 |
|
||
|
Перевод url в числовой вид
|
|||
|---|---|---|---|
|
#18+
ШогалЕсли в хэш переводить, то можно к примеру так: Код: php 1. 2. 3. Получаем 64-битное число, которое можно хранить в MySQL поле типа BIGINT. В запрос подавать прямо в таком виде, мускул уже разберётся, что оно 16-ричное. Скажите а могут быть совпадения хешей двух разных строк? т.е sha1 может такое допустить? например crc алгоритм может. читал что мд5 надо постаратся чтобы 2 разные строчки имели один хеш - это очень редко. а тут как с этим ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2012, 23:35:17 |
|
||
|
Перевод url в числовой вид
|
|||
|---|---|---|---|
|
#18+
RoinШогалЕсли в хэш переводить, то можно к примеру так: Код: php 1. 2. 3. Получаем 64-битное число, которое можно хранить в MySQL поле типа BIGINT. В запрос подавать прямо в таком виде, мускул уже разберётся, что оно 16-ричное. Скажите а могут быть совпадения хешей двух разных строк? т.е sha1 может такое допустить? например crc алгоритм может. читал что мд5 надо постаратся чтобы 2 разные строчки имели один хеш - это очень редко. а тут как с этим ? sha1($str) - нет, а вот substr(sha1($str), 0, 16) - вероятно может. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2012, 07:04:04 |
|
||
|
Перевод url в числовой вид
|
|||
|---|---|---|---|
|
#18+
А зачем переводить текст в цифры? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2012, 08:51:45 |
|
||
|
Перевод url в числовой вид
|
|||
|---|---|---|---|
|
#18+
HettА зачем переводить текст в цифры? думаю сам ТС слабо понимает зачем. иначе бы не создал этой темы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2012, 09:22:14 |
|
||
|
Перевод url в числовой вид
|
|||
|---|---|---|---|
|
#18+
r uHettА зачем переводить текст в цифры? думаю сам ТС слабо понимает зачем. иначе бы не создал этой темы Как это слабо понимаю ? я же написал в первом топике, что поиск по числовым полям быстрее ежели по текстовым Или я неправ ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2012, 16:17:36 |
|
||
|
Перевод url в числовой вид
|
|||
|---|---|---|---|
|
#18+
На чем основано ваше убеждение? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2012, 16:18:12 |
|
||
|
Перевод url в числовой вид
|
|||
|---|---|---|---|
|
#18+
Ребят, я прошу совета. Читал что по возможности нужно делать поле целочисленным (и желательно даже беззнаковым) даюы выборки по такому полю идут быстрее и занимают такие поля меньше байтов. Посоветуйте сталкивались может с подобными задачами когда приходилось хешировать в числа строки и потом работать уже с числами ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2012, 08:23:05 |
|
||
|
Перевод url в числовой вид
|
|||
|---|---|---|---|
|
#18+
Roin, вам ответили уже. используйте хеш md5 или sha. по ним и ищите. или вы хотите свою написать? тогда приготовьтесь что по сложности это будет сопостовимо как раз с md5 или sha. ибо надо добиться уникальности хеша, небольшого размера.... а за этим стоит сложная математика... а следовательно время на проработку и реализацию алгоритма.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2012, 09:02:02 |
|
||
|
Перевод url в числовой вид
|
|||
|---|---|---|---|
|
#18+
Спасибо, буду использовать мд5. Только каким типом делать поле в MySQL для него? не строковым же, подскажите ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2012, 09:39:04 |
|
||
|
Перевод url в числовой вид
|
|||
|---|---|---|---|
|
#18+
CHAR(32), BINARY(32) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2012, 10:31:49 |
|
||
|
Перевод url в числовой вид
|
|||
|---|---|---|---|
|
#18+
Только я все равно не понимаю, зачем хешировать? К тому же это приводит к избыточности данных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2012, 10:57:11 |
|
||
|
|

start [/forum/topic.php?fid=23&msg=37823641&tid=1465079]: |
0ms |
get settings: |
8ms |
get forum list: |
18ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
186ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
58ms |
get tp. blocked users: |
2ms |
| others: | 194ms |
| total: | 486ms |

| 0 / 0 |
