Nhiều cập nhật trong mysql
Tôi vừa thử nghiệm điều này và phương thức INSERT là 6. Đối với tôi nhanh gấp 7 lần so với phương thức GIAO DỊCH. Tôi đã thử trên một bộ gồm cả 3.000 và 30.000 hàng Show Phương thức TRANSACTION vẫn phải chạy từng truy vấn riêng lẻ, điều này làm mất thời gian, mặc dù nó xử lý hàng loạt kết quả trong bộ nhớ hoặc thứ gì đó trong khi thực thi. Phương thức GIAO DỊCH cũng khá tốn kém trong cả nhật ký sao chép và truy vấn Tệ hơn nữa, phương pháp CASE là 41. Chậm hơn 1 lần so với phương thức INSERT với 30.000 bản ghi (6. Chậm hơn 1 lần so với GIAO DỊCH). Và chậm hơn 75 lần trong MyISAM. Các phương thức INSERT và CASE hòa vốn ở ~1.000 bản ghi. Ngay cả ở 100 bản ghi, phương thức CASE vẫn nhanh hơn Vì vậy, nói chung, tôi cảm thấy phương pháp INSERT là tốt nhất và dễ sử dụng nhất. Các truy vấn nhỏ hơn và dễ đọc hơn và chỉ chiếm 1 truy vấn hành động. Điều này áp dụng cho cả InnoDB và MyISAM công cụ thưởng Giải pháp cho vấn đề INSERT non-default-field là tạm thời tắt các chế độ SQL có liên quan. 4. Đảm bảo lưu 5 trước nếu bạn định hoàn nguyên nóĐối với các nhận xét khác mà tôi đã thấy nói rằng auto_increment tăng lên khi sử dụng phương thức INSERT, đây có vẻ là trường hợp trong InnoDB, nhưng không phải MyISAM Lưu ý. "Đã sửa - Tôi quên gửi giá trị cũ của mình đến tệp Lưu. php để $ id không bao giờ biết những gì sẽ cập nhật" Hỏi ngày 13 tháng 4 năm 2012 lúc 12. 18 13 Tháng tư 2012 lúc 12. 18 Drmzindecdrmzindec Drmzindec 8042 Huy hiệu vàng15 Huy hiệu bạc28 Huy hiệu đồng2 huy hiệu vàng15 huy hiệu bạc28 huy hiệu đồng 10 Bạn chỉ có thể chạy hai truy vấn thay đổi cả hai tên
Nếu bạn muốn thực hiện nó trong một chuỗi, bạn có thể thực hiện điều này với nhiều truy vấn, truy vấn được tham gia hoặc quy trình được lưu trữ Nhiều truy vấn trong một chuỗi
Tham gia truy vấn
Nếu không có công việc nào ở trên, tôi khuyên bạn nên thay đổi bảng để không có tên phù hợp mà là ID phù hợp Bạn sẽ nhận được như sau
Đã trả lời ngày 13 tháng 4 năm 2012 lúc 12. 23 13 Tháng tư 2012 lúc 12. 23 7
Nhưng bạn đang cảm thấy rằng mô hình dữ liệu của bạn là xấu xí. Có thể tốt hơn để khử chuẩn hóa Có bảng sản phẩm tham khảo bảng danh mục
Đã trả lời ngày 13 tháng 4 năm 2012 lúc 12. 23 13 Tháng tư 2012 lúc 12. 23 Nhưng bạn đang cảm thấy rằng mô hình dữ liệu của bạn là xấu xí. Có thể tốt hơn để khử chuẩn hóa. Konerak Có bảng sản phẩm tham khảo bảng danh mục. 12 huy hiệu vàng96 huy hiệu bạc117 huy hiệu đồng 0 Konerakkonerak 38. 7K12 Huy hiệu vàng 96 Huy hiệu bạc 117 Huy hiệu đồng 0Tôi khuyên bạn nên liên kết bảng sản phẩm của mình với bảng danh mục bằng cách sử dụng trường 'ID' của bảng danh mục. Bằng cách này, bạn sẽ được liên kết với cùng một danh mục và có thể thay đổi tên danh mục mà không sợ bị phá vỡ bất cứ điều gì khác, bởi vì bạn vẫn sẽ liên kết với cùng một danh mục ID Xem xét những điều sau Cách bạn hiện đang làm, nó giống như rất khó duy trì, bởi vì bạn có thể cần thêm một cột khác trong tương lai sử dụng một danh mục theo một cách nào đó và phải tiếp tục thay đổi cột 'Tên_danh mục' . Bằng cách liên kết với ID, bạn có thể thực hiện bất kỳ thay đổi nào bạn thích trong bảng danh mục mà không lo lắng rằng bạn sẽ mất liên kết với bất kỳ bảng nào khác (đó là những điều sẽ xảy ra với các bảng . 13 Tháng tư 2012 lúc 12. 24 CHỈNH SỬA. Bạn có thể nhận được bất kỳ thông tin nào về các danh mục bằng cách sử dụng các kết nối như tham gia bên trong. Tôi nghĩ đây sẽ là một cách tiếp cận tốt hơn. Ngoài ra, hãy xem thêm các mối quan hệ giữa cột 'Category_id' trong bảng Sản phẩm với cột 'ID' trong bảng danh mục. Điều này sẽ đảm bảo một điều rằng danh mục sẽ không bị xóa khi vẫn còn các sản phẩm được liên kết với nó. Frank Đã trả lời ngày 13 tháng 4 năm 2012 lúc 12. 245 huy hiệu bạc15 huy hiệu đồng thẳng thắn 16645 Huy hiệu bạc15 Huy hiệu Đồng Khi nào bạn có một mối quan hệ như các sản phẩm và danh mục mà bạn đã đề cập, tốt hơn hết là có cấu trúc như sau. 13 Tháng tư 2012 lúc 12. 25 Vì vậy, bất cứ khi nào bạn cần hiển thị tên danh mục cho một sản phẩm, bạn có thể làm điều đó bằng cách sử dụng tham gia. Vì vậy, thay đổi này sẽ cho phép bạn giải quyết vấn đề của mình. Prabhuram Đã trả lời ngày 13 tháng 4 năm 2012 lúc 12. 259 huy hiệu bạc15 huy hiệu đồng Bohhuramprabhuram 1. 2889 huy hiệu bạc15 huy hiệu đồng 1I don't know at sao you have 7 trong cả hai bảng, nó lộn xộn như vô nghĩa theo như tôi thấyLý tưởng nhất là cấu trúc bảng của bạn nên như thế này 1Điều này cho phép bạn thay đổi tên của danh mục trong bảng danh mục mà không cần thay đổi bất cứ điều gì trong bảng sản phẩm. 13 Tháng tư 2012 lúc 12. 26 Tất cả những gì bạn cần làm là tham gia 2 bảng trong truy vấn lựa chọn của bạn, ví dụ. Nick Đã trả lời ngày 13 tháng 4 năm 2012 lúc 12. 262 huy hiệu vàng29 huy hiệu bạc47 huy hiệu đồng 2 Biệt danh 2http. //php. mạng/thủ công/en/mysqli. đa truy vấn. php 6. 2782 Huy hiệu vàng29 Huy hiệu bạc47 Huy hiệu đồng 2 Tháng 3, 2016 lúc 9. 22 1 Please try this thing hy vọng nó sẽ giúp 3Đã trả lời ngày 2 tháng 3 năm 2016 lúc 9. 22 Ngày 4 tháng 5 năm 2015 lúc 12. 58 1 Vâng, tôi đã từng gặp phải vấn đề này là tốt. This is manh mối. Vui lòng thử cái này, 4Đã trả lời ngày 4 tháng 5 năm 2015 lúc 12. 58 29 tháng 4, 2020 lúc 10. 31 Đơn giản sử dụng mã bên dưới, hy vọng điều này phù hợp với bạn. flochristos Đã trả ngày 29 tháng 4 năm 2020 lúc 10. 313 huy hiệu bạc13 huy hiệu đồng 2 Bạn có thể cập nhật trên nhiều bảng trong MySQL không?Trong MySQL, chúng tôi có thể cập nhật nhiều bảng trong một truy vấn cập nhật. Trong truy vấn bên dưới, cả hai bảng 'Đơn hàng' và 'chi tiết đơn hàng' đều được cập nhật cùng một lúc. chúng tôi có thể cập nhật nhiều bảng trong một truy vấn CẬP NHẬT duy nhất . Trong truy vấn bên dưới, cả hai bảng 'order' và 'order_detail' đều được cập nhật cùng một lúc. Làm cách nào để cập nhật nhiều bản ghi trong MySQL?Làm thế nào để bạn sử dụng nhiều bảng trong truy vấn cập nhật?Sử dụng bảng đối tượng của SQLalchemy, có thể chỉ được định nghĩa nhiều hơn một bảng trong phương thức định mệnh Cập nhật (). PostgreSQL và Microsoft SQL Server hỗ trợ các câu lệnh cập nhật đề cập đến nhiều bảng. Điều này thực hiện cập nhật trên mạng từ cú pháp của nhóm, nơi cập nhật một bảng tại một thời điểm |