Я нашел интересный пример для оптимизации запросов SELECT ORDER BY id LIMIT X, Y. У меня 35 миллионов строк, поэтому для поиска ряда строк потребовалось 2 минуты.
Вот трюк:
select id, name, address, phone
FROM customers
WHERE id > 990
ORDER BY id LIMIT 1000;
Просто поставьте ГДЕ с последним идентификатором, который вы получили увеличить производительность. Для меня это было от 2 минут до 1 секунды:)
Другие интересные трюки здесь: http://www.iheavy.com/2013/06/19/3-ways-to-optimize- for-paging-in-mysql /
Он также работает со строками
В вашем файле Docker есть две проблемы.
FROM microsoft/dotnet:latest
и FROM microsoft/dotnet:2.1-aspnetcore-runtime
AS publish
опубликовать вывод. Вот рабочий докер-файл
FROM microsoft/dotnet:2.1-sdk AS publish
COPY . /app
WORKDIR /app/MyWebApp
RUN dotnet build
RUN dotnet publish -c Release -o out
FROM microsoft/dotnet:2.1-aspnetcore-runtime
EXPOSE 80
WORKDIR /app
COPY --from=publish /app/MyWebApp/out .
ENTRYPOINT ["dotnet", "MyWebApp.dll"]
При публикации создается каталог назначения в следующем формате:
bin\$(Configuration)\netcoreapp<version>\publish
Таким образом, ваш каталог будет создан в:
COPY ${source:-MyWebApp/bin/Release/netcoreapp<version>/publish/out} .
<version>
вашей .net версией
Подробнее об этом вы можете прочитать здесь