На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! информация о разделе
user posted imageДанный раздел предназначается для обсуждения вопросов использования баз данных, за исключением составления запросов на SQL. Для этого выделен специальный раздел. Убедительная просьба - соблюдать "Правила форума" и не пренебрегать "Правильным оформлением своих тем". Прежде, чем создавать тему, имеет смысл заглянуть в раздел "Базы данных: FAQ", возможно там уже есть ответ.

Модераторы: Chow, Bas, MIF
  
> Есть ли СУБД, хранящие базу в памяти?
    Добрый день.
    Есть некое приложение, написанное на Visual FoxPro, используется база данных MS SQL Server 2005. Хочу портировать его на C#, но там активно используются временные таблицы (курсоры) с индексами и запросами - т.е. данные один раз запрашиваются с сервера и потом обрабатываются, уже при закрытом соединении (это обязательное требование).
    Подумав, решил использовать в C# дополнительную СУБД, в которой и будут храниться все эти временные таблицы. Сначала приложение через ADO.NET подключается к SQL Server, получает нужные данные и создает таблицы в другой СУБД, затем происходит работа только с этой СУБД и ее таблицами. Смотрел в сторону SQLite, но она записывает базу данных на диск. А есть ли такие СУБД, которые держат все таблицы в памяти?
      Цитата DenZurin @
      А есть ли такие СУБД, которые держат все таблицы в памяти?

      Если данных мало то они их держат в памяти а если гиги то куда?.

      Добавлено
      Цитата DenZurin @
      временные таблицы (курсоры) с индексами и запросами

      Представления(VIEW) или временные таблицы(# or ##)
        Цитата Bas @
        Если данных мало то они их держат в памяти а если гиги то куда?.


        Гигов в проекте точно нет, десятки мегабайтов. Сначала пытался загнать полученные из SQL Server данные в List/Hashtable и использовать LINQ to Data, но операции выполняются очень медленно (более минуты, на Фоксе - за секунду). Хотелось бы быструю СУБД, умеющую создавать индексы.

        Добавлено
        Цитата Bas @
        Представления(VIEW) или временные таблицы(# or ##)


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

        Добавлено
        Или дополнительно установить SQL Server на клиентской машине?
          Цитата DenZurin @
          Нужно, чтобы программа не требовала постоянного соединения с сервером.

          Использовал технологию MIDAS (C++Builder) получал данные и отваливался от сервера.
          Лёгкая локальная база данных не требующая драйверов
            SQLite
            attach database ':memory:' as memory;

            MySQL
            REATE TABLE tab1 (dat DATETIME NOT NULL,msg VARCHAR(250) NOT NULL,....) ENGINE=MEMORY;
            0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
            0 пользователей:


            Рейтинг@Mail.ru
            [ Script execution time: 0,0282 ]   [ 17 queries used ]   [ Generated: 24.04.24, 19:15 GMT ]