- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我有 512 行要插入到数据库中。我想知道提交多个插入内容是否比提交一个大插入内容有任何优势。例如
1x 512 行插入 --
INSERT INTO mydb.mytable (id, phonenumber)
VALUES (1, 555-555-5555) , (2, 555-555-5555) , (3, 555-555-5555), //repeat to id = 512
VS 4x 128 行插入
INSERT INTO mydb.mytable (id, phonenumber)
VALUES (1, 555-555-5555) , (2, 555-555-5555) , (3, 555-555-5555), //repeat to id = 128
INSERT INTO mydb.mytable (id, phonenumber)
VALUES (129, 555-555-5555) , (130, 555-555-5555) , (131, 555-555-5555), //repeat to id = 256, then next 128, then next 128.
VS 512x 1 行插入
INSERT INTO mydb.mytable (id, phonenumber)
VALUES (1, 555-555-5555)
INSERT INTO mydb.mytable (id, phonenumber)
VALUES (2, 555-555-5555) // repeat until id = 512
还有一个关于测试这个的问题,如果我将其设置为测试 - 假设我使用第一种方法,一个 512 行的大插入。这需要 0.5 秒。那么下一次需要 0.3 秒——我认为这种缓存会发生吗,就像编程语言执行两次相同的操作时那样,会发生在 sql 中吗? (因此是否需要为每种方法获得良好的平均测试结果?)
在进行非常大的插入(例如,50 万)时,我还应该考虑哪些其他Những điều cần lưu ý?如果发送到数据库的数据包太大,它永远不会接收或执行查询,这是真的吗?我什至会因为进行非常大的插入而遇到麻烦吗?
câu trả lời hay nhất
我的答案是假设 SQL Server;我怀疑我所说的适用于其他 SQL 引擎。
任何 SQL Server 查询的大部分开销都是执行计划的开发。如果您将其作为单个插入执行,则必须制定一 (1) 次执行计划;如果您执行 512 次单独插入,则必须制定 512 次执行计划。因此,执行单个插入的开销要少得多。
如果我发现该引擎发现了您不知道、不想或无法做到的其他效率,我不会感到惊讶。但是,如果仅节省执行计划,那么单次插入仍然值得。
关于sql - 哪个最快,1x 插入 512 行,4x 插入 128 行,或 512x 插入 1 行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26244076/
Sự khác biệt giữa SQL, PL-SQL và T-SQL là gì? Có ai có thể giải thích sự khác biệt giữa ba loại này và cung cấp các tình huống sử dụng có liên quan cho từng loại không? Câu trả lời SQL tốt nhất là ngôn ngữ truy vấn hoạt động trên các bộ sưu tập. Nó ít nhiều được tiêu chuẩn hóa và hầu hết mọi thứ về
Câu hỏi này đã có câu trả lời: Sự khác biệt giữa SQL, PL-SQL và T-SQL là gì? (6 câu trả lời) Đã đóng 9 năm trước. Tôi biết SQL đủ tốt để hoàn thành
Tôi có bảng USER trong cơ sở dữ liệu. Bảng có cột Ngày đăng ký, có ràng buộc mặc định là GETDATE(). Khi sử dụng LINQ, tôi không cung cấp bất kỳ
Tôi có một chuỗi có thể thuộc loại chuỗi kết quả mong đợi 15-th-rp 15 15/12-rp 12 15-12-th
Thật khó để nói những gì đang được hỏi ở đây. Câu hỏi không rõ ràng, mơ hồ, không đầy đủ, quá rộng hoặc quá khoa trương để có thể trả lời hợp lý ở dạng hiện tại. Để được trợ giúp làm rõ vấn đề này để có thể mở lại, hãy truy cập trung tâm trợ giúp Đã đóng 9 năm trước.
Tôi có một thủ tục lưu sẵn (được gọi là sprocGetArticles) trả về danh sách các bài viết từ một bảng bài viết. Thủ tục lưu trữ này không có bất kỳ tham số nào. Người dùng có thể để lại nhận xét trên mỗi bài viết và tôi lưu trữ những nhận xét này trong bảng nhận xét được liên kết bởi ID bài viết. Có cách nào không
Tôi hiện đang làm việc trên một chủ đề cơ sở dữ liệu *khụ*Oracle*cough*. Người hướng dẫn giới thiệu SQL nhúng như một cách để các ngôn ngữ khác (chẳng hạn như C, C++) tương tác với cơ sở dữ liệu (Oracle). Tôi đã tự mình thực hiện một số công việc về cơ sở dữ liệu
Độ dài tối đa của câu lệnh SQL trong SQL Server là bao nhiêu? Độ dài này có phụ thuộc vào phiên bản SQL Server không? Ví dụ: trong DECLARE @SQLStatement NVARCHAR(MAX) = N'S
Câu hỏi này đã có câu trả lời: Cách đơn giản để chuyển đổi cột và hàng trong SQL? (9 câu trả lời) Đã đóng 8 năm trước. Loại cuộc gọi
Cảm ơn trước vì bất kỳ sự giúp đỡ nào với điều này. Giả sử tôi có một truy vấn so sánh dữ liệu qua các năm, bắt đầu từ một năm tùy ý nào đó, không bao giờ kết thúc (đi vào tương lai), đến cùng kỳ mỗi năm cho đến trọn tháng cuối cùng (điểm đặc biệt là dữ liệu tháng 1 không bao giờ hiển thị tối đa 2 mặt trăng
Tôi có bảng USER trong cơ sở dữ liệu. Bảng có cột Ngày đăng ký có ràng buộc mặc định là GETDATE(). Khi sử dụng LINQ tôi không cung cấp số nào cho cột Ngày đăng ký
Dưới đây là sql tôi đang cố sử dụng để kiểm tra xem thủ tục được lưu trữ có tồn tại hay không và sau đó tạo thủ tục. Nó sẽ đưa ra lỗi: Cú pháp sai gần từ khóa 'THỦ TỤC' NẾU KHÔNG TỒN TẠI
Tôi có một đồng nghiệp tuyên bố rằng SQL động thực thi nhanh hơn SQL tĩnh trong nhiều trường hợp, vì vậy tôi luôn thấy DSQL ở mọi nơi. Ngoài những hạn chế rõ ràng, như lỗi không thể phát hiện được trước khi chạy và khó đọc hơn, điều này có chính xác không? Khi tôi hỏi anh ấy tại sao anh ấy vẫn tiếp tục sử dụng
Truy vấn SQL động từ lobodava là: khai báo @sql nvarchar(4000) = N';with cteColumnts (ORDINAL_POSITION, CO
Những ưu điểm và nhược điểm trong thế giới thực khi thực thi các lệnh SQL động bằng cách sử dụng các thủ tục được lưu trữ trong SQL Server EXEC (@SQL) so với EXEC SP_EXECUTESQL @SQL là gì? Câu trả lời hay nhất sp_executes
Tôi có truy vấn SQL này hoạt động: select sum(dbos.Points) as Points, dboseasons.Year from dbo.StatLines dbos i
Tôi đang gỡ lỗi một số mã xây dựng lệnh SQL chạy thành công. Tuy nhiên, ở cuối truy vấn, kết quả truy vấn dường như được ghi vào một tệp văn bản. Truy vấn hoàn chỉnh như sau echo SELECT DATE,DATETABLE,DATE,APPDAT
Tôi có một số tệp .sql (cơ sở dữ liệu MS SQL) tạo bảng: Table_1.sql: IF OBJECT_ID (N'my_schema.table1', N'U') IS NOT NULL DROP TAB
Tôi đã viết thủ tục lưu trữ SQL sau đây và nó liên tục báo lỗi @pid = SELECT MAX(... Toàn bộ quá trình là: Alter PROCEDURE Insert_partyco @pname varchar(20
Tôi có một bảng trong SQL Server 2005 với hai cột Fruit và Color như hình bên dưới Fruit Color Apple Red Orange
Tôi là một lập trình viên xuất sắc, rất giỏi!