我有一個.NET連接到MYSQL後端的應用程序。在開發機器和服務器上都安裝了MySQL Connector 6.5.5,我使用實體框架。MySQL連接器 - 實體框架
當我查詢我的本地機器上的數據庫,並查看生成的SQL - 查詢包含選擇X,Y,Z內部聯接A內部聯接B其中C in(1,2,3)。
但是,當我將完全相同的系統部署到活動服務器時,查詢將完全更改爲選擇X,Y,Z,LEFT OUTER JOIN 1,LEFT OUTER JOIN 2,LEFT OUTER JOIN 3其中1 = C或2 = C或3 = C。
首先 - 我不明白爲什麼SQL不匹配,因爲兩臺機器都安裝了相同的連接器。其次,第二個版本花費10分鐘,而第一個版本花費10秒鐘。我如何將服務器與我的開發機器對齊?
謝謝!
嗨,數據庫託管在Web服務器上,兩個環境當前連接到同一個實時數據庫。部署時它是'本地'的,所以它是本地時間較長的地方。 – Oriental
這真的很奇怪......所以它需要更多的時間在本地環境中,而不是在線部署它更快(抱歉的問題,但我是意大利人,我想確定你是什麼意味着) – makemoney2010
是的。開發機器和服務器都連接到實時服務器數據庫,因此遠離數據庫的開發環境要快得多。原因是我在我的問題中提到的查詢形式。我只需要弄清爲什麼MySQL Connector在部署到服務器時生成不同的SQL! – Oriental