LINUX.ORG.RU

Вопрос

 , ,


0

2

Я тут кое-что подумал, пришло в голову следующее, есть условная таблица:

id |   a  |  b  |
1  | First| Qwe |
2  | Two  | Asd |

Делаем запрос в БД по id(или там может быть хеш), заносим всю строку в massive[], и потом уже из него дергаем massive[1], massive[2] и т.д.

Итак, верны/осуществимы ли мои утверждения? Если да, то по сути все должно работать быстрее, чем по отдельности все дергать. Жду ваших комментариев. Если все подтвердится накину еще один вопрос.

★

anonimous, подвизающийся на ниве SQL?

Apple-ch ★★
()

да как бы по-отдельности никто не дергает...

bvn13 ★★★★★
()

Если да, то по сути все должно работать быстрее, чем по отдельности все дергать.

Теоретически да. Практически это невозможно из-за огромного расхода памяти (таблицы-то обычно большие) и отсутствия возможности делать запросы (базы для этого обычно и нужны).

vurdalak ★★★★★
()

заносим всю строку в massive[],

т.е. massive[1] == First, massive[2] == Qwe ?

Если да, то по сути все должно работать быстрее, чем по отдельности все дергать.

А по отдельности это ты на каждое поле делаешь запрос?

pi11 ★★★★★
()

Делаем запрос в БД по id(или там может быть хеш)

Когда задача сводится к такой, обычно смотрят в сторону NoSQL.

x3al ★★★★★
()

Что с чем сравнивается? Опиши оба сценария (например псевдокодом).

В целом если тебе нужны два поля из одной строки то разумно дёрнуть их одним запросом:
select a,b from tbl where id = 1;
а не двумя:
select a from tbl where id = 1;
select b from tbl where id = 1;
Расходы на sql запрос значимы

MrClon ★★★★★
()
Последнее исправление: MrClon (всего исправлений: 1)

Не, ну если у тебя всего 2 строки с 2 атрибутами, то и бд не нужна. О чём вопрос-то?

Hater ★★
()

Если в таблице до 500 записей и тебе нужно больше 20% - делай через массив, иначе делай отдельную выборку и кэшируй

kiotoze ★★★★
()

Так все и делают. И называется это «кеш»

P.S. Я выскочил и испортил не одну страницу искрометного юмора над гражданином

vertexua ★★★★★
()
Ответ на: комментарий от x3al

Уахахаха, и тут тоже посоветовали NoSQL. Осталось посоветовать хацкель

vertexua ★★★★★
()
Последнее исправление: vertexua (всего исправлений: 1)
Ответ на: комментарий от x3al

Я и не говорю что плохо. Но посоветовать NoSQL всегда - классика

vertexua ★★★★★
()
Ответ на: комментарий от system

Смысл в том что работаем со строками, а не со столбцами.

Так всегда и работают со строками. Или я тебя не понимаю или ты какую-то фигню несешь.

pi11 ★★★★★
()
Ответ на: комментарий от vertexua

Я таки изобрел велосипед? Вы уверены что поняли меня правильно?

system ★
() автор топика
Ответ на: комментарий от pi11

select a, b, c, d, e, f, g from tbl На деле конечно же там будет более столбцов.

Вместо этого мы просто запрашиваем строку по id и заносим в massive[]. И из массива дергаем, так же удобнее ~> возможно быстрее.

system ★
() автор топика
Ответ на: комментарий от system

Кто может сравнить скорость работы по моей теории?

system ★
() автор топика
Ответ на: комментарий от pi11

Да не ... Курить он ещё не дорос :)

Почитал бы ты примеры программок чтоли, а такую фигню спрашиваешь ... аж тоноко! :)

anonymous
()
Ответ на: комментарий от system

мы просто запрашиваем строку по id

В то время как БД может хранить всё столбцами...
Если опускаться до такого уровня, нужно знать, что происходит от и до.

GAMer ★★★★★
()
Вы не можете добавлять комментарии в эту тему: топик перемещен в архив.