и будет часто возникать задача найти определенный uid (
WHERE uid = {$uid})
я думаю для облегчения поиска поделить uid на 10 групп и тогда запрос будет
WHERE group = {$group} AND uid = {$uid}тогда он будет пропускать все uidЫ из других групп тоесть сравнивать придется всего 1 цифру, а не 23, но зато придется использзовать лишнее условие (WHERE group = {$group})
так вот что будет проще процессору сравнивать 23 числа пока не найдет нужное котрое может быть в самом конце таблицы, или выполнять два условия но сравнивать 9тыс раз только 1 цифру а потом следующие 1000раз сравнивать данные в двух полях?
Спустя 17 минут, 45 секунд (28.04.2012 - 08:48) sergeiss написал(а):
Сделай индекс по этому полю и всё будет находиться быстро. А дополнительные условия (группы) тут не нужны будут.
Если ты сделаешь 2 условия и без правильной индексации, то время поиска только увеличится Потому что всё равно будет последовательно всё сканировать, но сравнивать не одно поле, а два.
Если ты сделаешь 2 условия и без правильной индексации, то время поиска только увеличится Потому что всё равно будет последовательно всё сканировать, но сравнивать не одно поле, а два.
Спустя 4 минуты, 36 секунд (28.04.2012 - 08:53) Dagot написал(а):
Но ведь индекс будет состоять из большего числа цифр от от 1 и до 6-ти значного, тоесть сравнивать будет больше цифр, чем 1 (как задумал я)
Спустя 5 минут, 18 секунд (28.04.2012 - 08:58) killer8080 написал(а):
Цитата (Dagot @ 28.04.2012 - 09:53) |
Но ведь индекс будет состоять из большего числа цифр от от 1 и до 6-ти значного, тоесть сравнивать будет больше цифр, чем 1 (как задумал я) |
Dagot как ты думаешь, для чего придумали индексы?
Спустя 1 минута, 59 секунд (28.04.2012 - 09:00) Dagot написал(а):
ну чтоб удобней было наверное искать запись)
Спустя 3 минуты, 33 секунды (28.04.2012 - 09:04) killer8080 написал(а):
Цитата (Dagot @ 28.04.2012 - 10:00) |
ну чтоб удобней было наверное искать запись) |
не удобней, а быстрей, по заданному полю, и это как раз то что тебе нужно (кстати 10к записей не такая уж большая таблица)
Спустя 8 минут, 13 секунд (28.04.2012 - 09:12) Dagot написал(а):
я тут почитал, я думал всегда что автоинкрементное поле id и есть индексация... но это не так как я понял?
помоему этому форуму нужно проиндексировать таблицы жутко тормазит, собака
помоему этому форуму нужно проиндексировать таблицы жутко тормазит, собака
Спустя 26 минут, 11 секунд (28.04.2012 - 09:38) sergeiss написал(а):
Цитата (Dagot @ 28.04.2012 - 10:53) |
тоесть сравнивать будет больше цифр, чем 1 (как задумал я) |
Как задумал ты, будет сравнивать 23 знака + 1 цифру группы.
Ты вот еще сравни: перебрать все 10К записей (количество сравнений равно количеству строк) или найти по индексу (количество сравнений существенно меньше, чем количество записей).
_____________
аська 615-817, стучите начинающие прогеры, будем вместе прорываться)