Я читал много раз, что нам нужно избегать чтения слишком большого количества полей при запросе MySQL (или любой базы данных) ... просто запросите нужные поля.Сколько полей слишком много при запросе MySQL?
Однако у меня есть проект, в котором таблица содержит 100 полей на запись/строку.
Дело в том, что каждый раз, когда я запрашиваю базу данных, мне нужно ВСЕ поля для дальнейших вычислений и т. Д. После выполнения запроса.
В конечном итоге у меня будет около 200 пользователей, которые будут использовать один и тот же запрос/таблицу. На данный момент я провел некоторое непрерывное тестирование с 3 ПК одновременно, постоянно запрашивая базу данных, и проблем с производительностью вообще нет, все данные запрашиваются на долю секунды. Также обратите внимание, что запросы во много раз совпадают (все пользователи запрашивают одно и то же), поэтому кэш запросов очень сильно ударяется.
Но меня беспокоит, когда все пользователи (+200) связаны друг с другом и связаны с проектом в производстве у меня начнутся проблемы с производительностью.
Итак ... вопрос, - 100 полей, которые слишком много для запроса?
Может SELECT * ... использоваться или будет ВЫБРАТЬ field1, поле2, field3 ... и т.д. быть быстрее?
Я не знаю, как «имитировать» 200 пользователей, запрашивающих в то же время ... любые идеи?
благодаря
«100 полей слишком много для запроса?» Вы протестировали его, и в вашем случае ответ будет ** нет **. «будет SELECT поле1, поле2, поле3 ... и т. д. быстрее?» И поиск, что '*' подразумевает и анализирует все поля, если упоминается отдельно, требует времени, но это ничто по сравнению с фактическим запросом. – MvanGeest
благодарит за комментарии. Я не уверен, что вы имеете в виду «* подразумевает разбор ...».Вы говорите, что лучше использовать * (в данном случае) или лучше сделать запрос, перечисляющий каждое отдельное поле? – griseldas