- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
а зачем здесь лишний count(*) ?
можно упростить запрос:
если запрос дал пустоту, то детали нет. можно даже не получать поле id из запроса...
а вообще, как сказали выше - уник. индекс
Это очень печально, мне кажется что mysql легче вернуть кол-во строк, чем саму строку.
siv1987, не буду спорить. Тем более count(*).
P.S.: Поищите статью о тестах производительности count на хабре. Они удручают.
Вот именно поищите. Для чего тогда count предназначен?
http://habrahabr.ru/post/41968/
Выборка строк только для подсчета их количества
$result = mysql_query(«SELECT * FROM table», $link);
$num_rows = mysql_num_rows($result);
Если вам нужно выбрать количество строк, удовлетворяющих определенному условию, используйте запрос SELECT COUNT(*) FROM table, а не выбирайте все строки лишь для того, чтобы подсчитать их количество.
ТС кстати спросил про скорость добавления, а не скорость выборки. Если что.
Нужно понять - запрос проверки медленный или таблица организована через одно место, или настройки режима работы субд не под ваш случай...
Ради интереса - укажите тип таблицы, структуру, запрос на проверку.
ТС кстати спросил про скорость добавления, а не скорость выборки. Если что.
Нужно понять - запрос проверки медленный или таблица организована через одно место, или настройки режима работы субд не под ваш случай...
Ради интереса - укажите тип таблицы, структуру, запрос на проверку.
ТС вбросил абстракцию и слился куда-то. Несмотря на это, товагищи в треде уже всё обсудили и решили за ТС, что персонаж стопроцентно юзает мускул в комплекте с пыхом и обращается к полю типа INT(11), которое обязательно уникальное, а оперативе на серваке, вместе с конфигами БД, обязательно хватает места хранить все индексы.
Ну прямо изумительный клиент: таблицы в порядке, сорцы не быдлокод, и вообще всё славно и нет нигде ошибок, только индексы впереть забыл и в скуле не изменил пару слов.
Mad_Man, бывает такое что у mysql не хватает места для хранения индексов?
Mad_Man, бывает такое что у mysql не хватает места для хранения индексов?
Зависит от того, сколько на это отведено в конфиге мускуля\марии. Если выделено памяти меньше, чем нужно индексам суммарно по БД, то хранится только часть их в оперативе.
ТС кстати спросил про скорость добавления, а не скорость выборки. Если что.
Вот именно.
Насколько помню, скорость вставки сильно зависит от наличия индексов - чем их больше, тем медленнее скорость вставки. Стоит проверить, все ли они нужны реально.
Вот именно.
Не совсем именно... Если почитать пост ТС'а, то у него еще и селекты перед вставкой выполняются, и както по моему он в целом о времени говорит, и нигде нет явного утверждения с тестами, что это именно insert, а все остальное отрабатывает идеально.
Если почитать пост ТС'а, то у него еще и селекты перед вставкой выполняются
Он пишет, по сути, про один селект - уникальный айди детали ищет, что, как уже обсудили, правильнее делать через использование поля с автоинкрементом.
а все остальное отрабатывает идеально
все, конечно, зависит от конкретной ситуации, но избыточные ключи - зло, стоит проверить как и когда они используются, так ли они необходимы.
уникальный айди детали ищет,
Уникальный ид для кого уникальный, для ТС'а или для mysql? А если это не уникальный индекс, или вообще не индекс? Кто-то только сказал что будет смешно если окажется что это праймери кей. А если там селект типа select * from? А если там еще какой-то гк который отрабатывает в цикле?
Лично у меня такое чувство, что избыточность ключей в данном случае стоит рассматривать в последнем случае, только после приведения структуры таблицы и плана выполнения инсерт
Уникальный ид для кого уникальный, для ТС'а или для mysql?
ТС исчез и нам остается гадать.
Конечно, со структурой таблицы планами выполнения запросов было бы лучше.
Возможно, что ТС не совсем понимает смысл слов "уникальный", "первичный ключ" и т.п. Потому он и обратился. Может после обсуждения найдет время почитать мануалы.