Например, есть таблица, в ней всего 500 записей. В ней 10 строк (id, name ... ), в каждой содержится одиновое количество символов, например 100.
Интерисует, что будет быстрее и оптимальней использовать: "SELECT *" или "SELECT id,name ...", если нужно 9 из 10 строк ?
Как бы вроде выбирая все, не приходится sql искать по именам строки, но так подгружается ненужная 10-я строка, которая просто в кеше висит.
Спустя 10 минут, 37 секунд (22.09.2009 - 00:41) twin написал(а):
Ты наверное столбцы имеешь ввиду?
Спустя 4 минуты, 30 секунд (22.09.2009 - 00:45) SunSet написал(а):
twin
Так строки
А так столбцы
Так строки
Свернутый текст

А так столбцы
Свернутый текст


Спустя 3 часа, 43 минуты, 47 секунд (22.09.2009 - 04:29) kirik написал(а):
Это столбцы в любом случае, хоть и пишутся в pma как строки
А по вопросу - в любом случае лучше указать нужные столбцы, потому как в будущем у тебя может появиться необходимость добавить еще парочку.

А по вопросу - в любом случае лучше указать нужные столбцы, потому как в будущем у тебя может появиться необходимость добавить еще парочку.
Спустя 4 часа, 47 минут, 23 секунды (22.09.2009 - 09:16) SunSet написал(а):
kirik
Ваш голос учтен
Может ктото чтото еще скажет.
Ваш голос учтен

Спустя 1 час, 5 минут, 27 секунд (22.09.2009 - 10:22) glock18 написал(а):
А результаты голосования где посмотреть можно?

Спустя 8 минут, 33 секунды (22.09.2009 - 10:30) twin написал(а):
Цитата |
Интерисует, что будет быстрее и оптимальней использовать: "SELECT *" или "SELECT id,name ...", если нужно 9 из 10 строк ? |
Оптимальней с точки зрения работы программы или написания кода? Ты вот рассуди логически. Чем больше данных в обработке, тем ....... работает программа. Соответственно, если указать все столбцы, а не выборочно, то программа будет .......................

Спустя 50 минут, 6 секунд (22.09.2009 - 11:20) SunSet написал(а):
twin
1. Логически тут не проходит, если не знать принципа работы и обработки запроса.
2. Мне важнее скорость работы программы, а не внешний вид кода.
Вот ты говоришь что если сразу указать какие именно нужны, то есть 9 из 10, то будет быстрее. Но так тратится время на поиск этих самых столбцов, и обращение то к sql запросу, то к таблице, выбирая нужное. А при выборе всего сразу вроде не приходится ничего искать, сразу выборка, но лишний (10-й) столбец будет "висеть" в памяти. А если несколько людей по одному и тому же запросу обратятся...
glock18
Почтальйон домой письмом принесет
kirik
Ну это не факт, может ничего и не будет добавляться. Интересно просто при вот таком, вышеописанном, раскладе с 9/10 столбцами.
1. Логически тут не проходит, если не знать принципа работы и обработки запроса.
2. Мне важнее скорость работы программы, а не внешний вид кода.
Вот ты говоришь что если сразу указать какие именно нужны, то есть 9 из 10, то будет быстрее. Но так тратится время на поиск этих самых столбцов, и обращение то к sql запросу, то к таблице, выбирая нужное. А при выборе всего сразу вроде не приходится ничего искать, сразу выборка, но лишний (10-й) столбец будет "висеть" в памяти. А если несколько людей по одному и тому же запросу обратятся...
glock18
Почтальйон домой письмом принесет

kirik
Ну это не факт, может ничего и не будет добавляться. Интересно просто при вот таком, вышеописанном, раскладе с 9/10 столбцами.
Спустя 18 минут, 49 секунд (22.09.2009 - 11:39) twin написал(а):
Вот и рассуждай дальше. Что тебе в итоге нужно. Тебя интересует чистый SQL или в связке с php скриптом?
Цитата |
Но так тратится время на поиск этих самых столбцов |
ничего там особо не тратится, так как все равно вся таблица будет загружена в память SQL . А вот в php передавать лишние данные совсем бы ни к чему. Есть моменты, когда это оправдано с точки зрения оптималности написания кода. Когда скажем 150 столбцов, а из них не используется один маленький. Тогда этим можно пренебречь и написать *
Спустя 5 минут, 25 секунд (22.09.2009 - 11:45) SunSet написал(а):
twin
Цитата |
Тебя интересует чистый SQL или в связке с php скриптом? |
Смутно представляется разница между первым и вторым, если это все на одном удаленном сервере находится.
Тогда, как я понял, лучше указать эти 9 столбцов вместо (*)
Спустя 4 минуты, 47 секунд (22.09.2009 - 11:49) twin написал(а):
Цитата |
Смутно представляется разница между первым и вторым, |
Это очень просто. Это два разных сервера. PHP выступает в качестве юзера и шлет на сервер SQL такие же запросы, как ты на основной сервер. И так же получает ответы. То есть идет обмен данными. Вот и представь, что быстрее, загрузить маленькую страницу или большую. Так же и там. Чем больше данных, тем дольше выполняется запрос и тем больше памяти задействуется php препроцессором.
_____________
... и помните! Каким бы ни был PHP, главное - чтобы он был защищенным! :) (PHP с Анфисой Чеховой)