Получение загруженных блоков для тока AppDomain
:
var loadedAssemblies = AppDomain.CurrentDomain.GetAssemblies();
Получение блоков, на которые ссылается другой блок:
var referencedAssemblies = someAssembly.GetReferencedAssemblies();
Примечание, что, если блок ссылочный блок B и блок A загружаются, который не подразумевает, что блок B также загружается. Блок B будет только загружен, если и когда он будет необходим. По этой причине, GetReferencedAssemblies()
возвраты AssemblyName
экземпляры, а не Assembly
экземпляры.
Должен ли я использовать формат таблицы MyISAM или InnoDB?
Для любого проекта с частым одновременным чтением и записью следует использовать InnoDB
.
Блокирует ли MyISAM файл всю таблицу при выполнении вставок, тем самым блокируя операторы выбора из веб-интерфейса?
Если включен @@ concurrent_insert
, MyISAM
может добавлять вставленные строки в конец, одновременно читая из другой сеанс.
Однако, если вы когда-нибудь сделаете что-нибудь, кроме INSERT
, это может привести к сбою (т. е. таблица будет заблокирована).
Система должна иметь возможность вставлять 1000–2000 записей каждые во-вторых.
Будет лучше группировать эти вставки и делать их партиями.
InnoDB
намного быстрее с точки зрения количества строк в секунду, чем количества транзакций в секунду.
В таблице данных будут храниться данные за последние 24 часа, более старые данные будут удалены из таблицы.
Обратите внимание, что InnoDB
блокирует все проверенные строки, а не только затронутые.
Если ваш Оператор DELETE
когда-либо будет использовать полное сканирование, одновременные INSERT
завершатся неудачно (так как полное сканирование заставит InnoDB
установить блокировки пропусков на все просмотренные записи, включая последнюю один).
MyISAM работает быстрее и блокирует всю таблицу. InnoDB основан на транзакциях, поэтому блокирует строки, но работает медленнее.