คำถามติดแท็ก sql

Structured Query Language (SQL) เป็นภาษาสำหรับการจัดการข้อมูลในระบบการจัดการฐานข้อมูลเชิงสัมพันธ์ แท็กนี้สำหรับคำถามเกี่ยวกับการเขียนโปรแกรม SQL ทั่วไป ไม่ใช่สำหรับ Microsoft SQL Server (สำหรับสิ่งนี้ให้ใช้แท็ก sql-server) และไม่อ้างถึงภาษาเฉพาะของ SQL ด้วยตนเอง

4
คุณจะตัดสินใจใช้ฐานข้อมูลชนิดใด
ฉันไม่ชอบชื่อ "NoSQL" จริงๆเพราะมันไม่ได้อธิบายอะไรมาก มันบอกฉันว่าฐานข้อมูลไม่ได้ที่ผมสนใจมากขึ้นในสิ่งฐานข้อมูลที่มี ฉันคิดว่าหมวดหมู่นี้ครอบคลุมฐานข้อมูลหลายประเภทจริงๆ ฉันแค่พยายามหาแนวคิดทั่วไปเกี่ยวกับว่างานใดแต่ละฐานข้อมูลเฉพาะเป็นเครื่องมือที่ดีที่สุด สมมติฐานบางประการที่ฉันต้องการทำ (และขอให้คุณทำ): สมมติว่าคุณมีความสามารถในการจ้างวิศวกรที่ยอดเยี่ยมจำนวนมากที่มีประสบการณ์เท่าเทียมกันกับทุกเทคโนโลยีฐานข้อมูลที่มีอยู่ สมมติว่าคุณมีโครงสร้างพื้นฐานทางเทคนิคเพื่อสนับสนุนฐานข้อมูลที่กำหนด (รวมถึงเซิร์ฟเวอร์และ sysadmins ที่สามารถรองรับฐานข้อมูลดังกล่าว) สมมติว่าแต่ละฐานข้อมูลมีการสนับสนุนที่ดีที่สุดเท่าที่จะเป็นไปได้ฟรี สมมติว่าคุณมีบายอิน 100% จากการจัดการ สมมติว่าคุณมีเงินจำนวนไม่ จำกัด ที่จะทำให้เกิดปัญหา ตอนนี้ฉันรู้ว่าสมมติฐานข้างต้นกำจัดข้อควรพิจารณาที่ถูกต้องจำนวนมากที่เกี่ยวข้องกับการเลือกฐานข้อมูล แต่ฉันให้ความสำคัญกับการหาฐานข้อมูลที่ดีที่สุดสำหรับงานในระดับเทคนิคอย่างแท้จริง ดังนั้นจากสมมติฐานข้างต้นคำถามคืองานใดที่แต่ละฐานข้อมูล (รวมทั้ง SQL และ NoSQL) เป็นเครื่องมือที่ดีที่สุดและทำไม?
31 sql  database  nosql 

2
เหตุใดจึงเก็บค่าสถานะ / enums ในฐานข้อมูลเป็นสตริงแทนที่จะเป็นจำนวนเต็ม
ฉันได้ทำการสืบค้น SQL ทิ้งของ CMS ที่มีชื่อเสียงบางตัวรวมถึง Drupal 7, Wordpress (บางรุ่นที่ค่อนข้างเก่า) และแอปพลิเคชันที่กำหนดเองบางตัวที่ใช้ Python ดัมพ์เหล่านี้ทั้งหมดมีข้อมูลที่มีแฟล็กสตริงแทนค่าจำนวนเต็ม ยกตัวอย่างเช่นสถานะการโพสต์ได้แสดงเป็นpublished, closedหรือinheritมากกว่า1, หรือ23 ฉันมีประสบการณ์ค่อนข้าง จำกัด ในการออกแบบฐานข้อมูลและฉันไม่เคยผ่าน SQL แบบง่าย ๆ มาก่อน แต่ฉันได้รับการสอนเสมอว่าฉันควรใช้ตัวเลข / จำนวนเต็มสำหรับข้อมูลเช่นนี้ ก็ชัดเจนว่าพื้นที่กินมากน้อยในฐานข้อมูลกว่ายกตัวอย่างเช่นtinyintvarchar(9) แล้วฉันจะพลาดอะไรไป? นี่ไม่ใช่การจัดเก็บข้อมูลและการสำรองข้อมูลซ้ำซ้อนหรือไม่ การเรียกดูการค้นหาและการจัดทำดัชนีจะไม่เร็วกว่านี้ไหมถ้าคอลัมน์เหล่านี้ใช้จำนวนเต็มแทนที่จะเป็นสตริง

2
NoSQL ภายใน SQL Server
คำถามนี้ไม่เกี่ยวกับความแตกต่างระหว่าง SQL และ NoSQL ฉันกำลังมองหาเหตุผลบางอย่างสำหรับบางสิ่งบางอย่างที่ไม่สมเหตุสมผลกับฉันในขณะนี้ (อาจเป็นเพราะการขาดความเข้าใจหรือการชื่นชมของฉัน) เราได้เริ่มโครงการใหม่ตั้งแต่เริ่มต้นโดยใช้ MVC5, Entity Framework 6 code ก่อนและ SQL Server 2008 เมื่อสถาปนิกตรวจสอบ schema ฐานข้อมูลมีการระบุว่าคีย์ต่างประเทศทั้งหมดและข้อ จำกัด อื่น ๆ ควรถูกลบออกเพราะนี่คือ "ตรรกะทางธุรกิจ" และ ควรใช้ภายในเลเยอร์ธุรกิจของรหัสแอปพลิเคชัน ความคิดเห็นของฉันคือว่าคีย์ต่างประเทศเป็นส่วนหนึ่งของข้อมูล / การอ้างอิงที่สมบูรณ์และไม่ได้เลียนแบบตรรกะทางธุรกิจจริงๆ ฉันเห็นตรรกะทางธุรกิจเป็นกระบวนการและการตรวจสอบความถูกต้องซึ่งควบคุมว่าจะใช้การอ้างอิงแบบใด / เมื่อใด / อย่างไร / ทำไม ฉันสามารถเข้าใจได้ว่าข้อ จำกัด ที่ไม่เหมือนใครนั้นเป็นกระบวนการทางธุรกิจที่มีเนื้อหา แต่สำหรับฉันนี่เป็นการเติมเต็มตรรกะและเป็นส่วนหนึ่งของความซื่อสัตย์ อาร์กิวเมนต์ที่สองคือเป้าหมายคือการใช้วิธี NoSQL กับข้อมูล ฉันพบสิ่งผิดปกติและผิดพลาดจริง ๆ นี้: พิจารณาการใช้ SQL-Server 2008, ความจำเป็นในการรายงาน, …
28 sql  sql-server  nosql 

6
การใช้ฐานข้อมูลเชิงสัมพันธ์เทียบกับอ็อบเจ็กต์ JSON สำหรับข้อมูลเหตุการณ์ / กิจกรรม
ฉันกำลังทำงานในโครงการที่ฉันพยายามตัดสินใจระหว่างการใช้ฐานข้อมูลเชิงสัมพันธ์ SQL มาตรฐานหรือวัตถุ JSON เพื่อเก็บข้อมูลเกี่ยวกับเหตุการณ์หรือกิจกรรม โครงการจะจัดเก็บข้อมูลในประเภทเหตุการณ์หลายประเภทดังนั้นฉันได้ตัดสินใจที่จะอธิบายเพียงหนึ่งประเภทเหตุการณ์สำหรับคำถามนี้ เหตุการณ์ดนตรีสด (อธิบายแบบเต็มโดยใช้สคีมา JSON ที่ด้านล่างของคำถามนี้) เป็นวัตถุที่เก็บข้อมูลเช่นสถานที่ที่จะจัดกิจกรรมเวลา / วันที่ของเหตุการณ์และค่าใช้จ่ายของเหตุการณ์ วัตถุเหตุการณ์ดนตรีสดมีทั้งแบบหนึ่งต่อหนึ่ง (เหตุการณ์ -> ชื่อเหตุการณ์ -> คำอธิบาย) และแบบตัวต่อตัว (เหตุการณ์ -> สถานที่จัดงาน, กิจกรรม -> วันที่, กิจกรรม -> ประเภทตั๋ว ) ความสัมพันธ์ นอกจากนี้วัตถุเหตุการณ์สามารถมีหนึ่งรหัสนักแสดงหรือมากกว่าซึ่งลิงก์ไปยังวัตถุนักแสดง วัตถุนักแสดงจัดเก็บข้อมูลเกี่ยวกับนักดนตรีที่กำลังแสดงในการแสดงดนตรีสด ข้อมูลจะถูกสอบถามโดยผู้ใช้ที่ใช้ง่าย ("Find me events with 'x' name") และ complex ("Find me events ด้วยแนวเพลง 'x' และ 'y' ภายในรัศมี …
28 design  sql  json 

6
มีเหตุผลอะไรที่ดีที่จะใช้ประโยชน์จากคำหลัก SQL?
ดูเหมือนว่ามีนักพัฒนาจำนวนมากที่เขียน SQL โดยใช้คำหลักเป็นตัวพิมพ์ใหญ่: SELECT column FROM table INNER JOIN table ON condition WHERE condition GROUP BY clause HAVING condition ฉันสงสัยว่าทำไมผู้คนถึงติดวิธีนี้ เห็นได้ชัดว่าเป็นแบบแผนที่มีมายาวนาน แต่ฉันไม่เคยพบกับ RDBMS ที่ต้องใช้อักษรตัวพิมพ์ใหญ่ โดยส่วนตัวแล้วฉันพบคำหลักที่ควรเรียกร้องความสนใจไปยังส่วนที่ไม่ถูกต้องของแบบสอบถามซึ่งเป็นสาเหตุที่ฉันเขียนคำหลักเป็นตัวพิมพ์เล็ก ยังมีคนจำนวนมากพอใช้อนุสัญญานี้ที่ฉันคิดว่าฉันอาจจะพลาดบางสิ่งดังนั้นคำถามนี้

6
เหตุใด SQL จึงไม่แพร่หลายในแอปพลิเคชันเดสก์ท็อปขนาดใหญ่
ในฐานะนักพัฒนาซอฟต์แวร์ฉันได้ทำงานในโครงการตั้งแต่แอพเล็ก ๆ ที่ทำที่บ้านไปจนถึงแอปพลิเคชันระดับองค์กร ในเกือบทุกโครงการฉันใช้ฐานข้อมูลหรือเสียใจที่เลือกที่จะไม่ใช้ตั้งแต่ต้น ตอนนี้ฉันสงสัยบางอย่างเกี่ยวกับฐานข้อมูลและการใช้งานในแอปพลิเคชันทั่วไป: เหตุใด Windows จึงไม่ใช้ฐานข้อมูล SQL "กลาง" ใด ๆ ตัวอย่างเช่น: ข้อผิดพลาดข้อมูลการรายงานจะถูกเก็บไว้ในกลุ่มของไฟล์ Windows Update เก็บทุกอย่างไว้ในรูปแบบไฟล์เดียว แคชไอคอนถูกเก็บไว้ในไฟล์เดียวที่แปลกมากซึ่งดูเหมือนจะไม่สามารถเข้าถึงได้ผ่านทาง SQL ฯลฯ เหตุใดแอปพลิเคชันขนาดใหญ่จำนวนมากจึงหลีกเลี่ยงการใช้ฐานข้อมูล ตัวอย่างเช่น Microsoft Outlook จะไม่ได้รับจากการใช้ฐานข้อมูลจริงแทนที่จะสร้างล้อใหม่โดยมีรูปแบบของตนเองสำหรับไฟล์. pst และจัดเก็บข้อมูลบางอย่างในรีจิสตรี ถ้าฐานข้อมูลเพิ่มเลเยอร์เพิ่มเติมของความซับซ้อนโดยรวมและการสูญเสียประสิทธิภาพเพียงเล็กน้อยมันเป็นราคาที่ได้เปรียบอย่างมากในการทำให้โค้ดง่ายขึ้นในสถานการณ์ส่วนใหญ่โดยเฉพาะอย่างยิ่งเมื่อมันมาถึงการจัดเก็บข้อมูลขนาดเล็กที่จัดระเบียบแทนไบนารีขนาดใหญ่ ลำธาร เหตุใดจึงมีบางผลิตภัณฑ์ที่ใช้ฐานข้อมูลจริง อาจเป็นแอปพลิเคชั่นเดียวที่ฉันรู้ซึ่งจริงๆแล้วใช้ฐานข้อมูล Sqlite คือ Firefox และบางที Microsoft Exchange (แต่อันสุดท้ายไม่ใช่แอปพลิเคชันเดสก์ท็อป)? นอกจากนี้จะไม่มีชุดของแอปพลิเคชันเช่น Microsoft Office หรือ Microsoft Expression ได้รับประโยชน์จากการมีฐานข้อมูล SQL แบบรวมทำให้ง่ายต่อการปรับใช้แอปพลิเคชันอัปเดต / อัปเกรดข้อมูลแบ่งปันข้อมูลระหว่างแอปพลิเคชันเหล่านั้น เป็นต้น
28 sql 

1
เข้าร่วมกับภายในเข้าร่วมและเต็มรูปแบบเข้าร่วมด้านนอก
ฉันรู้ว่ามีความแตกต่างระหว่างINNER JOINและFULL OUTER JOINผมสามารถมองเห็นได้ แต่สิ่งที่แตกต่างระหว่างทั้งสองต่อไปนี้: JOIN ... ON...และINNER JOIN...ON...และยังคงยังJOIN...ON...VSFULL OUTER JOIN...ON... เหตุผลที่เป็นฉันคิดว่าอาจจะใช้เพียงแค่JOINmessing up แบบสอบถามที่ฉันทำงานที่มีการโพสต์บนดังนั้นเชื่อมโยงไปยังคำถามที่นี่ ดังนั้นโดยพื้นฐานแล้วอะไรคือความแตกต่างทางไวยากรณ์ระหว่างชุดปฏิบัติการจริงของตัวเอง ขอขอบคุณ,
27 sql  sql-server 

2
ทำไมการประชุมบอกว่าชื่อตาราง DB ควรเป็นเอกเทศ แต่เป็นพหูพจน์ของทรัพยากร
มันเป็นแบบแผนที่ค่อนข้างกำหนดไว้ว่าอย่างน้อยชื่อตารางฐานข้อมูลใน SQL ควรเป็นแบบเอกพจน์ SELECT * FROM user;ดูคำถามและการอภิปรายนี้ นอกจากนี้ยังมีการประชุมที่ค่อนข้างดีที่ชื่อทรัพยากร RESTful API ควรเป็นพหูพจน์ GET /users/123และPOST /usersดูคนนี้ ใน API ที่ได้รับการสนับสนุนฐานข้อมูลที่ง่ายที่สุดชื่อของทรัพยากรใน URL จะเป็นตารางและองค์ประกอบข้อมูลใน URL และหน่วยงานร้องขอ / ตอบสนองจะจับคู่กับคอลัมน์ในฐานข้อมูลโดยตรง ตามแนวคิดแล้วฉันไม่เห็นความแตกต่างระหว่างการทำงานกับข้อมูลผ่าน API เชิงทฤษฎีนี้กับการทำงานบน SQL โดยตรง และด้วยเหตุนี้ความแตกต่างในการตั้งชื่อข้อตกลงระหว่างuserและusersไม่สมเหตุสมผลกับฉัน ความแตกต่างในการทำให้เป็นพหูพจน์เป็นอย่างไรเมื่อแนวคิด REST API และ SQL กำลังทำสิ่งเดียวกัน

9
คีย์หลักควรไม่เปลี่ยนรูปหรือไม่
คำถามล่าสุดใน StackOverflowเจ็บใจอภิปรายเกี่ยวกับการเปลี่ยนรูปของคีย์หลัก ฉันคิดว่ามันเป็นกฎที่คีย์หลักควรจะไม่เปลี่ยนรูป หากมีโอกาสที่บางวันจะมีการอัปเดตคีย์หลักฉันคิดว่าคุณควรใช้คีย์ตัวแทน อย่างไรก็ตามมันไม่ได้อยู่ในมาตรฐาน SQL และคุณสมบัติ "cascade update" ของ RDBMS บางตัวอนุญาตให้เปลี่ยนคีย์หลักได้ ดังนั้นคำถามของฉันคือ: มันยังคงเป็นวิธีที่ไม่ดีที่จะมีคีย์หลักที่อาจมีการเปลี่ยนแปลง? ข้อเสียถ้ามีมีคีย์หลักที่ไม่แน่นอนคืออะไร?

3
SQL แบบอินไลน์ยังจัดอยู่ในประเภทการปฏิบัติที่ไม่ดีในขณะนี้ที่เรามี Micro ORMs หรือไม่?
นี่เป็นคำถามปลายเปิดเล็กน้อย แต่ฉันต้องการความคิดเห็นบางอย่างเนื่องจากฉันโตขึ้นในโลกที่สคริปต์ SQL แบบอินไลน์เป็นบรรทัดฐานจากนั้นเราทุกคนต่างก็ตระหนักถึงปัญหาการฉีด SQL ที่ใช้กันมากและ sql นั้นบอบบางเพียงใด ทำการปรับแต่งสตริงทั่วทุกที่ จากนั้นก็เริ่มรุ่งอรุณของ ORM ซึ่งคุณได้อธิบายการสืบค้นไปยัง ORM และปล่อยให้มันสร้าง SQL ของตัวเองซึ่งในหลายกรณีนั้นไม่เหมาะสมแต่ปลอดภัยและง่าย สิ่งที่ดีอีกอย่างเกี่ยวกับ ORMs หรือเลเยอร์สิ่งที่เป็นนามธรรมของเลเยอร์คือว่า SQL นั้นถูกสร้างขึ้นด้วยเอ็นจิ้นฐานข้อมูลของมันดังนั้นฉันสามารถใช้ Hibernate / Nhibernate กับ MSSQL, MYSQL และรหัสของฉันไม่เคยเปลี่ยน ตอนนี้ก้าวไปข้างหน้าอย่างรวดเร็วจนถึงปัจจุบันซึ่ง Micro ORM ดูเหมือนจะชนะมากกว่านักพัฒนาอื่น ๆ ฉันสงสัยว่าทำไมเราถึงได้นำ U-Turn มาใช้กับเรื่องทั้งหมดในตาราง ฉันต้องยอมรับว่าฉันชอบความคิดที่ว่าไม่มีไฟล์ ORM config และความสามารถในการเขียนข้อความค้นหาของฉันในลักษณะที่เหมาะสมที่สุด แต่รู้สึกเหมือนฉันกำลังเปิดตัวเองกลับสู่ช่องโหว่เก่า ๆ เช่นการฉีด SQL และฉันก็ผูกตัวเอง เอ็นจิ้นฐานข้อมูลหนึ่งดังนั้นถ้าฉันต้องการซอฟต์แวร์ของฉันเพื่อสนับสนุนเอนจินฐานข้อมูลหลายตัวฉันจะต้องทำการแฮ็คสตริงเพิ่มเติมซึ่งดูเหมือนว่าจะเริ่มทำให้โค้ดอ่านไม่ได้และเปราะบางยิ่งขึ้น (ก่อนที่ใครบางคนจะกล่าวถึงมันฉันรู้ว่าคุณสามารถใช้อาร์กิวเมนต์ที่อิงพารามิเตอร์กับ micro orms ส่วนใหญ่ที่ให้ความคุ้มครองในกรณีส่วนใหญ่จากการฉีด …
26 database  sql  orm 

6
การกำเนิดของ SSD มีความหมายสำหรับการปรับฐานข้อมูลหรือไม่?
วันนี้ฉันกำลังอ่านหนังสือเกี่ยวกับการปรับให้เหมาะสมของ SQL Server และดูเหมือนว่าความคิดบางอย่างนั้นขึ้นอยู่กับโมเดลเชิงเส้นของที่เก็บข้อมูล เนื่องจาก SSD มีรูปแบบการจัดเก็บที่แตกต่างกันโดยสิ้นเชิงพวกเขาจะเปลี่ยนเกมด้วยความคำนึงถึงวิธีการปรับแต่งฐานข้อมูลหรือการปรับให้เหมาะสมที่สุดหรือไม่

5
เข้าถึงฐานข้อมูลหลายตัวหรือเข้าถึงได้หนึ่งครั้งหรือไม่
เป็นวิธีที่ดีกว่าเมื่อมันมาถึงประสิทธิภาพและการใช้ทรัพยากรที่ดีที่สุดคือ: การเข้าถึงฐานข้อมูลหลายครั้งผ่าน AJAX เพื่อรับข้อมูลที่แน่นอนที่จำเป็นเมื่อมีความจำเป็นหรือทำการเข้าถึงเพียงครั้งเดียวเพื่อดึงวัตถุที่เก็บข้อมูลทั้งหมดที่อาจจำเป็น ด้วยความน่าจะเป็นสูงที่ไม่จำเป็นต้องใช้ทั้งหมดจริง ๆ ? ฉันรู้วิธีการเปรียบเทียบข้อความค้นหาจริง แต่ฉันไม่รู้วิธีทดสอบสิ่งที่ดีที่สุดเมื่อพูดถึงประสิทธิภาพของฐานข้อมูลเมื่อผู้ใช้หลายพันรายกำลังเข้าถึงฐานข้อมูลพร้อมกันและวิธีการรวมการเชื่อมต่อเข้ามาเล่น
25 performance  sql 

11
เหตุใดชื่อคอลัมน์นำหน้าจึงถือว่าไม่เหมาะสม
คำถามนี้ถูกโยกย้ายจาก Stack Overflow เพราะสามารถตอบได้ใน Software Engineering Stack Exchange อพยพ 8 ปีที่แล้ว ตามโพสต์ SO ที่ได้รับความนิยมมันถือว่าเป็นการฝึกฝนที่ไม่ดีสำหรับคำนำหน้าชื่อตาราง ที่ บริษัท ของฉันทุกคอลัมน์จะมีคำนำหน้าชื่อตาราง นี่เป็นเรื่องยากสำหรับฉันที่จะอ่าน ฉันไม่แน่ใจเหตุผล แต่การตั้งชื่อนี้เป็นมาตรฐานของ บริษัท จริงๆ ฉันไม่สามารถตั้งชื่อการประชุมได้ แต่ฉันไม่มีเอกสารประกอบในการสำรองเหตุผลของฉัน ทั้งหมดที่ฉันรู้คือการอ่าน AdventureWorks นั้นง่ายกว่ามาก ในการนี้บริษัท ของเรา DB คุณจะเห็นตารางบุคคลและมันอาจจะมีชื่อคอลัมน์: Person_First_Name หรืออาจเป็น Person_Person_First_Name (อย่าถามฉันว่าทำไมคุณถึงเห็นตัวบุคคล 2x) เหตุใดจึงถือว่าเป็นวิธีปฏิบัติที่ไม่ถูกต้องในการแก้ไขชื่อคอลัมน์ล่วงหน้า ขีดเส้นใต้ถือว่าเป็นความชั่วร้ายใน SQL เช่นกัน? หมายเหตุ: ฉันเป็นเจ้าของ Pro SQL Server 2008 - การออกแบบและการใช้ฐานข้อมูลที่เกี่ยวข้อง ยินดีต้อนรับการอ้างอิงถึงหนังสือเล่มนั้น
25 sql 

6
ขนาดของข้อมูลที่เป็นประโยชน์ในการย้ายจาก SQL เป็น NoSQL คืออะไร?
ในฐานะโปรแกรมเมอร์ฐานข้อมูลเชิงสัมพันธ์ (ส่วนใหญ่) ฉันอ่านบทความเกี่ยวกับวิธีที่ฐานข้อมูลเชิงสัมพันธ์ไม่ได้ปรับขนาดและโซลูชั่น NoSQL เช่น MongoDB ทำ เนื่องจากฐานข้อมูลส่วนใหญ่ที่ฉันพัฒนามามีขนาดเล็กจนถึงขนาดกลางฉันไม่เคยมีปัญหาที่ไม่ได้รับการแก้ไขด้วยการจัดทำดัชนีการเพิ่มประสิทธิภาพการสืบค้นหรือการออกแบบสคีมา ขนาดที่ฉันคาดหวังว่าจะเห็น MySQL ดิ้นรนกับขนาด มีกี่แถว (ฉันรู้ว่าสิ่งนี้จะขึ้นอยู่กับแอปพลิเคชันและประเภทของข้อมูลที่เก็บไว้สิ่งที่ทำให้ฉันเป็นพื้นฐานข้อมูลพันธุศาสตร์ดังนั้นจะมีหนึ่งตารางหลักที่มี 3 หรือ 4 ตารางการค้นหาตารางหลักจะประกอบด้วย สิ่งอื่น ๆ การอ้างอิงโครโมโซมและพิกัดตำแหน่งมันอาจจะได้รับการสอบถามจำนวนรายการระหว่างสองมื้อในโครโมโซมเพื่อดูสิ่งที่เก็บไว้ที่นั่น)

2
เว็บไซต์ที่ใช้งานภายใน: มีกรณีที่น่าสนใจสำหรับ SQLite หรือไม่?
เฟรมเวิร์กเว็บจำนวนมากเช่นFlaskหรือDjangoใช้SQLiteเป็นฐานข้อมูลเริ่มต้น SQLiteนั้นน่าสนใจเพราะมันรวมอยู่ในไพ ธ อนและค่าใช้จ่ายในการจัดการค่อนข้างต่ำ อย่างไรก็ตามไซต์การผลิตสาธารณะที่มีปริมาณการใช้งานสูงส่วนใหญ่ใช้ฐานข้อมูลที่หนักกว่า: mySQL, Oracle หรือ postgresql คำถาม : สมมติ: ปริมาณการใช้ของไซต์อยู่ในระดับปานกลางและการเข้าถึงแบบอ่าน / เขียนในฐานข้อมูลจะเกิดขึ้นพร้อมกัน เราจะใช้SQLAlchemyกับล็อคการเขียน SQLite (แม้ว่าความคิดเห็นนี้ทำให้ฉันกังวลเล็กน้อย) ฐานข้อมูลอาจมีบันทึก 60,000 รายการ โครงสร้างข้อมูลไม่ต้องการคุณสมบัติขั้นสูงที่พบในฐานข้อมูลที่หนักกว่า มีกรณีที่น่าสนใจต่อการเกิดพร้อมกันของSQLiteสำหรับเว็บไซต์ที่ทำหน้าที่เป็นเครื่องมือภายในองค์กรที่มีปริมาณการใช้งานปานกลางหรือไม่? ถ้าเป็นเช่นนั้นเงื่อนไขใดที่ทำให้SQLiteมีปัญหาการทำงานพร้อมกัน? ฉันกำลังมองหาสาเหตุที่เฉพาะเจาะจงที่เป็นที่รู้จักแทนการกลัวนิ้วชี้โดยทั่วไป / ไม่พร้อมเพรียง

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.