Ваша строка подключения открыта. Вы можете использовать код для проверки:
if(cmd.Connection.State != ConnectionState.Open) cmd.Connection.Open();
Это нормально. Это, в конечном счете, кеширование: кодирование штата избыточно, чтобы принести пользу некоторым образцам использования за счет других. Конечно, это также сложность.
Просто потому, что структура данных RDBMS - это отношения, не означает, что вы не можете изменить порядок кодирования из какой-либо простой формы. Например, денормализация.
(Иногда избыточные проекты (в том числе такие, как ваши) называются «денормализованными», когда они фактически не являются результатом денормализации, а избыточность не является видом, который вызывает денормализацию или нормализация. Зависимость / ограничение кросс-таблицы в SQL-базе данных В самом деле, можно было бы разумно описать ваш случай как нормализацию без сохранения FD (функциональных зависимостей). Начните с таблицы с другими id
и другими столбцами пользователя ratings
(отношение) и его counter
. Тогда ratings
функционально определяет counter
, поскольку counter
= select count(*) from ratings
. Разделите user
и т. д. + counter
, то есть таблицы User
и user
+ ratings
, который негруппируется в таблицу Rating
.)
Есть ли у вас предложение относительно лучшего термина, используемого при работе с этим
blockquote>Частый комментарий от меня: Google много ясных, лаконичных и amp; специфические фразы вашего вопроса / проблемы / цели / желания с различными подмножествами терминов & amp; теги, которые вы можете обнаружить с помощью & amp; без ваших конкретных имен (переменных / баз данных / таблиц / столбцов / ограничений / и т. д.). Например, «когда я могу хранить (сумма ИЛИ сумма) избыточно в базе данных». Человеческая фразировка, а не только ключевые слова, похоже, помогает. Ваша лучшая ставка может быть направлена на оптимизацию дизайна баз данных SQL для производительности. Есть целые книги («amazon isbn»), некоторые онлайн («pdf»). (Но, возможно, чаще всего запросы). Изучите методы, относящиеся к складированию, поскольку база данных OLTP выступает в качестве входного буфера для базы данных OLAP и использует SQL с большими данными. (Например, планирование моментальных снимков.)
PS Мое звание этого «кэширования» (так что tag кэширование ) является (типичным для меня) довольно абстрактным, до того момента, шутит, что все в CS кэшируется. (Googling ... «В« Компьютерной науке »есть только две трудные проблемы: кэш-аннулирование и именование вещей». - Фил Карлтон.) (Добро пожаловать в оба.)