Создание таблицы в Rails - PullRequest
       1

Создание таблицы в Rails

0 голосов
/ 15 сентября 2011

При создании таблицы в рельсах первичный ключ по умолчанию имеет значение: id?

Я пытаюсь получить доступ к строке в таблице с помощью: id, и для возврата результата требуется более 3 секунд.

Таблица содержит большие двоичные объекты порядка 5-20 МБ, и всякий раз, когда я напрямую ссылаюсь на строку с помощью ModleName.find (: id), операция занимает много времени.

Если у кого-то есть предложения о том, как ускорить этот процесс, у меня все на слух

Ответы [ 3 ]

4 голосов
/ 15 сентября 2011

Первичным ключом является id по умолчанию, но это не означает, что какой-либо index был создан.

Для этого просто добавьте такую ​​строку в файл migration:

add_index(table_name, column_names, options)

Смотри документ здесь .

4 голосов
/ 15 сентября 2011

При создании таблицы в рельсах первичный ключ по умолчанию имеет значение: id?

Да

Таблица содержит BLOB-объекты порядка 5-20 МБ и каждый раз, когда я прямая ссылка на строку с помощью ModleName.find (: id), операция занимает много времени.

Если у кого-то есть предложения о том, как ускорить этот процесс, у меня все на слух

Не хранить фактические файлы в базе данных. Вы столкнетесь с проблемами производительности, как и сейчас.

0 голосов
/ 16 сентября 2011

Да, Rails использует первичный ключ по умолчанию: id

Сначала убедитесь, что запрос на выборку выполняется с той скоростью, которую вы хотели в самой командной строке MySQL.

Поскольку у меня возникла проблема, когда сам запрос MySQL медленный, как если бы запрос MySQL медленный, Rails ничего не может с этим поделать.

В любом случае, как указал Чирс, никогда не храните файлы в таблице, если только у вас нет веских причин для этого.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...