0

我认为我的 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

4

1 回答 1

0

回到起点: http ://dev.mysql.com/doc/refman/5.5/en/optimizing-primary-keys.html

于 2012-08-07T15:35:00.017 回答