Пожалуйста, попробуйте это.
Sub sum_first_digit()
Dim colnum As Integer
Dim sumfirst As Integer
Dim CelRef As Variant
For colnum = 2 To 7
CelRef = Left(Cells(5, colnum).Value, 1)
sumfirst = sumfirst + Val(CelRef)
Next colnum
Range("C9").Value = sumfirst
End Sub
Всегда существует SQLite, база данных, это хранится в файле. SQLite уже имеет встроенный параллелизм, таким образом, Вы не должны волноваться о вещах как захват файла, и это действительно быстро для чтений.
Если, однако, Вы делаете много изменений базы данных, лучше делать их внезапно в транзакции. Это только запишет изменения в файле однажды, в противоположность каждому разу, когда запрос изменения выпущен. Это существенно увеличивает скорость выполнения нескольких изменений.
Когда запрос изменения выпущен, является ли это в транзакции или нет, целая база данных заблокирована, пока тот запрос не заканчивается. Это означает, что чрезвычайно большие транзакции могли оказать негативное влияние на выполнение других процессов, потому что они должны ожидать транзакции для окончания, прежде чем они смогут получить доступ к базе данных. На практике я не нашел, что это настолько примечательно, но это всегда - хорошая практика, чтобы попытаться минимизировать количество изменения базы данных, запрашивает Вас проблема.
если Вы хотите 'персистентный кэш' и уже используете memcached, проверьте memcachedb., это - персистентная хеш-таблица с помощью memcached протокола, никакой потребности в новом клиенте (но новом демоне)
Я недавно задаю подобный вопрос. Вот некоторые варианты:
Если Вам нужна масштабируемость, то RDBMS является Вашим лучшим выбором. На наиболее базовом уровне можно сериализировать структуры данных в файлы - однако, затем необходимо было бы объяснить проблемы захвата файла, которые ограничат параллелизм.
SQLite является SQL основанный на файле механизм базы данных, который может работать без персистентного демона базы данных (в PHP, например, он работает как расширение), однако он также имеет проблемы параллелизма (прочитайте ответы на этот вопрос, который мог помочь Вам решить, является ли SQLite правильным для Вас).
Если у Вас нет действительно серьезного основания не использовать реальный DRBMS, я предложил бы, чтобы Вы придерживались MySQL или других "полноценных" механизмов.
Если бы Вы хотите что-то действительно масштабируемое, я не выбрал бы плоский файл или XML-файл. Когда Ваши данные растут, они могли уничтожить Вашу производительность.
Если бы у Вас будет много данных на некотором этапе, я все еще выбрал бы базу данных - я смотрел бы на что-то как SQLIte с очень простой схемой для удовлетворения потребностям.
Я действительно не уверен, что Вы должны, но Вы рассмотреть просто хранящую информацию в документе XML, если это действительно - тот свет? И если это не Вы, рассмотрели SQLite?
Если Ваша запись программы Java, которая хочет встроенный взгляд базы данных hsqldb, так как она записана в Java и работает намного лучше затем sqlite, будучи названным из программ Java.
Если Вы пишете Java, то существуют реализации базы данных Java (Jared упоминает hsqldb, существуют другие), что можно непосредственно включать.
SQLite хорошо для статического включения, однако можно также включать MySQL в рамках приложения при использовании совместимого языка, такого как C.
Я думаю, что Вы ценили бы имеющий в наличии SQL также. XML-файлы просто не сокращают его больше, возможно, несколько лет назад при записи программного обеспечения PDA, но даже iPhone и Android включают SQLite теперь.
Для пар Key=Value можно использовать формат файла INI с простой загрузкой и сохранить процедуры, чтобы загрузить его и сохранить его к хеш-таблице в оперативной памяти.
Это может позже увеличиться к anythig, только переменной нагрузкой и сохранить процедуры для работы с дб.
Вы могли попробовать CounchDB, это - очень гибкая ориентированная на документ база данных, которая не вынуждает Вас определить схему заранее. Это было записано в Erlang, и благодаря этому это считают очень масштабируемым решением. Это может быть легко запрошено через интерфейс REST.
hsqldb в режиме в оперативной памяти даст Вам намного лучшую производительность, чем основанные на плоском файле базы данных. Это довольно просто в использовании также. И если таблица становится слишком большой, существует опция кэшировать ее на диске также. Проверьте это сравнение производительности:
(источник: hsqldb.org)