Это полностью зависит от ваших характеристик чтения и записи, то есть от запросов, которые вы делаете, и от того, как часто вы пишете в него.
Способ оптимизации для записи заключается в минимизации количества индексов. В идеале вы должны использовать то, что на сервере MS SQL было бы «кластеризованным индексом» с монотонно увеличивающимся ключом, гарантируя, что вы записываете новые записи в конец таблицы, а другой отдельный индекс не пишете. Еще лучше даже пропустить СУБД и записать в какой-нибудь обычный старый файл журнала, если вам не нужны транзакционные возможности.
Что касается запросов, то они могут быть настолько сложными, насколько вам нравится Имейте в виду, однако, что если вам нужен какой-либо значительный объем данных из таблицы для запроса (т. Е. Это больше, чем просто поиск одной записи на основе ключа), сканирование таблицы может быть не такой уж плохой вещью. Как правило, если вы просматриваете более 3-5% содержимого таблицы, сканирование таблицы будет очень быстрым. Опять же, для этого простой старый файл, вероятно, будет быстрее, чем СУБД.
Если вам нужно оптимизировать оба варианта, рассмотрите возможность оптимизации для записи, а затем регулярно делайте копию, оптимизируемую для запросов, и выполняйте запросы к копии.