我认为我的 MySQL 服务器或我正在使用的查询有问题。我不确定是哪个。
服务器是 VM Ubuntu12.4 4 cores/16gb Ram MySQL 5.5.24 x86
我的查询:
INSERT INTO `NEWTEXT`.`Order_LineDetails`
( OrderLineItem_ID, Customer_ID, Order_ID, ProductName )
SELECT
'Order_Details'.'OrderDetailID',
'Orders'.'CustomerID',
'Order_Details'.'OrderID',
'prods'.'ProductName'
FROM Order_Details
JOIN Orders ON Orders.OrderID = Order_Details.OrderID
JOIN Products prods ON prods.ProductID = Order_Details.ProductID
WHERE Orders.OrderID = 500000
我不确定从哪里开始寻找问题。上面的查询需要 9+ 秒才能完成。Order_Details 表中包含 1,800,000 多条记录。
让我烦恼的是,当我运行选择查询时,它也会变慢。但是,我有另一台正在运行 win2k MsSql 的服务器,它几乎可以立即使用相同的 SELECT 查询。
我希望有人可以在这里为我指明正确的方向。
编辑
好吧,很抱歉给您带来麻烦并感谢您的帮助。
我发现问题在于,在完成导入后,我跳过了通常分配新表 a 的步骤PrimaryKey
。我知道,:(愚蠢。
反正!不要忘记分配你的Primary Keys
!