Я использую FileTables в MSSQL 2017 для сохранения и загрузки изображений, но всякий раз, когда изображения в FileTable набирают большое количество, запрос увеличения выполняется дольше. Я отключил генерацию 8.3 имен на всякий случай.
Вот мой запрос на вставку:
string query = "DECLARE @path HIERARCHYID";
query += " DECLARE @new_path VARCHAR(675)";
query += " SELECT @path = path_locator";
query += " FROM Images";
query += " WHERE name = 'Images'";
query += " SELECT @new_path = @path.ToString()";
query += " + CONVERT(VARCHAR(20), CONVERT(BIGINT, SUBSTRING(CONVERT(BINARY(16), NEWID()), 1,6))) + '.'";
query += " + CONVERT(VARCHAR(20), CONVERT(BIGINT, SUBSTRING(CONVERT(BINARY(16), NEWID()), 7,6))) + '.'";
query += " + CONVERT(VARCHAR(20), CONVERT(BIGINT, SUBSTRING(CONVERT(BINARY(16), NEWID()), 13,4))) + '/'";
query += " INSERT into Images (stream_id, file_stream, name, path_locator) ";
query += " values (NEWID(), @File, '" + filename + "', @new_path)";
Имя FileTable - «Изображения», и когда я вставляю изображения в подкаталог с именем«Изображения», как вы можете видеть выше.
Если вы считаете, что есть способ ускорить мой запрос на вставку, сообщите мне.