- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Маркетинг для шоколадной фабрики. На 34% выше средний чек
Через устранение узких мест
Оксана Мамчуева
Там если и будет разница, то фактически нивелироваться железом, вот табличка на 1.5kk записей
...
В общем тут на уровне погрешности разница между ними и это вполне логично
и к чему все эти запросы, ГДЕ сравнение с выборкой по текстовому ключу? вы нас не обманете
и к чему все эти запросы, ГДЕ сравнение с выборкой по текстовому ключу? вы нас не обманете
Четвертый скрин, там есть СТРОКА в выборке =))
Четвертый скрин, там есть СТРОКА в выборке =))
там в выборке всё равно участвует идентификатор, оптимизатор запросов mysql будет использовать его, сравнивайте ТОЛЬКО с выборкой по текстовому ключу
например site.com/4321-Novost.html, то есть новость будет выгребаться из базы не по текстовому ключу, а по идентификатору 4321
Я говорил про идеальный мир. А при использовании хэша и поиска по точному вхождению поиск по хэшируемому индексу будет быстрее. Потому что временная сложность поиска по бинарному дереву будет O(log n) а для поиска по хэшу -О(1) для случая с хорошо разреженной тоблицы без коллизий, но даже для случая коллизий это будет O(1 + k/n), где k - количество элементов в списке коллизий для данного хэша, а n - размер хэш-таблицы.
и считать что ID в строке даст вам какой то значительный буст
Да ладно! Он выше дал ссылку на Великого Гуру, который написал, что выборка из БД по числу происходит в сотни раз быстрее, чем по строке. Так что не спорь, иначе прослывёшь дураком.
Там если и будет разница, то фактически нивелироваться железом, вот табличка на 1.5kk записей
С такими размерами спор вообще не имеет смысла. По мне однозначно проше сделать строковый индекс, хотя бвы потому что он читабельнее. Полностью согласен что выхлоп не стоит того
там в выборке всё равно участвует идентификатор, оптимизатор запросов mysql будет использовать его, сравнивайте ТОЛЬКО с выборкой по текстовому ключу
Нет там идентификатора эти числовые поля сами по себе не являются ключами их нельзя использовать отдельно, только все 3 поля вместе и среди 3х полей есть строка.
ради интереса решил проверить сам на сайте, к которому есть доступ с ~ 425000 новостями, типичные адреса выглядят так site.com/12345-Sber-vzyal-planku-v-300-rubleiy.html, где 12345 это primary key в базе, а Sber-vzyal-planku-v-300-rubleiy это добавка для псевдо ЧПУ, сделал по этому полю текстовой ключ, и решил сравнить время выборки по идентификатору, например 12345 (в среднем 0.0005 сек), и текстовому ключу, например Sber-vzyal-planku-v-300-rubleiy (в среднем 0.0011 сек), сделал пару десятков выборок, разница, в среднем составила в два раза в пользу выборки по primary key, стоит отметить, что сервер (VDS) не нагружен, если был бы нагружен, то было бы больше
explain одного и второго запроса покажите. Во вторых вы тестируете на VDS я показывал на выделенном сервере, там может майнит крипту у вас кто
И еще важно чтобы поле было NOT NULL и желательно ключ уникальным
explain одного и второго запроса покажите. Во вторых вы тестируете на VDS я показывал на выделенном сервере, там может майнит крипту у вас кто