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

แท็กนี้สำหรับคำถามฐานข้อมูลทั่วไป หากคำถามของคุณเฉพาะกับ SQL ให้ใช้แท็กนั้นแทน

7
การเรียกฐานข้อมูล mutliple นั้นสำคัญมากกับการโทรผ่านเครือข่ายสำหรับเว็บ API หรือไม่?
ที่หนึ่งในนายจ้างของฉันเราทำงานกับ REST (แต่ก็ใช้กับ SOAP) API ด้วย ลูกค้าซึ่งเป็น UI ของแอปพลิเคชันจะโทรผ่านเว็บ (LAN ในการปรับใช้การผลิตทั่วไป) ไปยัง API API จะทำการเรียกไปยังฐานข้อมูล ชุดรูปแบบหนึ่งที่เกิดขึ้นในการสนทนาของเราคือประสิทธิภาพ: บางคนในทีมเชื่อว่าคุณไม่ควรมีการเรียกฐานข้อมูลหลายครั้ง (โดยปกติจะอ่าน) จากการเรียก API เดียวเนื่องจากประสิทธิภาพ คุณควรปรับให้เหมาะสมเพื่อให้การเรียก API แต่ละครั้งมีการเรียกฐานข้อมูลเพียงหนึ่งครั้งเท่านั้น แต่นั่นสำคัญจริงๆเหรอ? พิจารณาว่า UI ต้องทำการเรียกเครือข่ายไปยัง API มันค่อนข้างใหญ่ (ลำดับความสำคัญเป็นมิลลิวินาที) ฐานข้อมูลได้รับการปรับให้เหมาะสมเพื่อเก็บสิ่งต่าง ๆ ในหน่วยความจำและดำเนินการอ่านอย่างรวดเร็ว (เช่น SQL Server โหลดและเก็บทุกอย่างไว้ใน RAM และใช้ RAM ฟรีของคุณเกือบทั้งหมดถ้าทำได้) TLDR: เป็นเรื่องสำคัญหรือไม่ที่จะต้องกังวลเกี่ยวกับการโทรฐานข้อมูลหลายครั้งเมื่อเราทำการโทรผ่านเครือข่ายผ่าน LAN หรือไม่? ถ้าเป็นเช่นนั้นทำไม เพื่อความชัดเจนฉันกำลังพูดถึงลำดับความสำคัญ - ฉันรู้ว่าขึ้นอยู่กับข้อมูลเฉพาะ …

6
วิธี HTTP เซสชันหรือฐานข้อมูล
ฉันสับสนเล็กน้อยตามที่ควรจะเป็นในแบบของฉันการทำงานกับการออกแบบตะกร้าสินค้าและฉันต้องการเก็บตะกร้าสินค้าในเซสชันหรือในฐานข้อมูล แต่ไม่แน่ใจว่าวิธีการใดที่จะดีที่สุด ผู้ใช้ไม่ได้เข้าสู่ระบบและเพิ่มสินค้าลงในรถเข็น (ผู้ใช้ที่ไม่ระบุชื่อ) ผู้ใช้เข้าสู่ระบบและเพิ่มสินค้าลงในรถเข็น กรณีแรกทำให้ฉันสับสนมากขึ้นเนื่องจากมีหลายกรณีที่ผู้ใช้เยี่ยมชมเว็บช็อปและเพิ่มผลิตภัณฑ์โดยไม่ต้องลงชื่อเข้าใช้และอาจเป็นไปได้มากว่าเขาอาจจะไม่ได้ดำเนินการเช็คเอาต์ แต่เรายังต้องสร้างตะกร้าสินค้าสำหรับผู้ใช้นี้เพื่อสร้างและบันทึกตะกร้าสินค้าฉันมีสองตัวเลือก เมื่อผู้ใช้เพิ่มผลิตภัณฑ์ให้สร้างรถเข็นในฐานข้อมูลและเชื่อมโยงรถเข็นนี้กับผู้ใช้นี้ทันทีที่เขาล็อกอินย้ายรถเข็นนี้ไปยังผู้ใช้ที่เข้าสู่ระบบ สร้างรถเข็นเพิ่มสินค้าลงในนั้นและบันทึกลงในเซสชันเมื่อผู้ใช้เข้าสู่ระบบสร้างรถเข็นในฐานข้อมูลและเชื่อมโยงผู้ใช้เข้าสู่ระบบด้วยรถเข็นนี้กับผู้ใช้ ฉันรู้ว่าทั้งระบบฐานข้อมูลที่ขับเคลื่อนด้วยระบบรถเข็นและเซสชันตามอาจมีแง่บวกและเชิงลบ แต่ไม่แน่ใจว่าวิธีใดที่ดีที่สุดในการพิจารณาประเด็นต่อไปนี้ scalability มีความยืดหยุ่น ขยาย แอพพลิเคชั่นควรดูแลความเร็ว กำลังมองหาอินพุตในด้านนี้เพื่อตัดสินใจพา ธ

2
แนวคิด SQL เหล่านี้สำหรับผู้เริ่มต้น, ระดับกลาง, หรือนักพัฒนาขั้นสูงหรือไม่? [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Software Engineering Stack Exchange ปิดให้บริการใน4 ปีที่แล้ว ฉันได้เรียนรู้ SQL เมื่อเร็ว ๆ นี้และฝึกฝนกับ MySQL / Postgres และ Oracle DB ในไม่ช้า ฉันยังค้นหาเว็บเพื่อศึกษา 'แผนที่ถนน' ของฐานข้อมูล แต่หาไม่เจอโชคไม่ดี ฉันต้องการที่จะเข้าใจว่าที่ไหนและเพราะเหตุใดแนวคิดของฐานข้อมูลที่เฉพาะเจาะจงจึงแตกต่างกันไปตั้งแต่ระดับเริ่มต้นไปจนถึงระดับกลางและระดับสูง ฉันคิดถึงฐานข้อมูลเชิงสัมพันธ์เป็นส่วนใหญ่ โปรดอธิบายวิธีการจัดวางทักษะที่แสดงด้านล่างเพื่อความก้าวหน้าของ Beginner -> Intermediate -> Advanced สำหรับนักพัฒนาระดับใดที่ควรรู้จักพวกเขา: ตรงไหน อัปเดตไวยากรณ์ ร่วม แก้ไขและสร้างคำสั่ง ตารางชั่วคราว เคอร์เซอร์ ดัชนี กุญแจต่างประเทศ ข้อ จำกัด การทำธุรกรรม subqueries จุดหมุน ฟังก์ชันการรวม …

3
วิธีจัดการกับค่าเงินใน PHP และ MySql
ฉันได้รับรหัสมรดกจำนวนมากที่เขียนด้วย PHP บนฐานข้อมูล MySQL สิ่งที่ฉันสังเกตคือแอพพลิเคชั่นใช้doublesสำหรับจัดเก็บและจัดการข้อมูล ตอนนี้ฉันเจอโพสต์มากมายที่กล่าวถึงวิธีdoubleที่ไม่เหมาะสำหรับการดำเนินงานทางการเงินเนื่องจากข้อผิดพลาดในการปัดเศษ อย่างไรก็ตามฉันยังไม่ได้เจอวิธีแก้ปัญหาที่สมบูรณ์เกี่ยวกับวิธีจัดการค่าเงินในโค้ด PHP และเก็บไว้ในฐานข้อมูล MySQL มีวิธีปฏิบัติที่ดีที่สุดเมื่อต้องจัดการกับเงินใน PHP โดยเฉพาะหรือไม่? สิ่งที่ฉันกำลังมองหาคือ: ข้อมูลควรถูกเก็บไว้ในฐานข้อมูลอย่างไร? ประเภทคอลัมน์? ขนาด? ข้อมูลควรจะถูกจัดการอย่างไรในการบวกและการลบแบบปกติ การคูณหรือหาร? เมื่อใดที่ฉันควรปัดเศษค่า การปัดเศษเท่าไหร่ที่ยอมรับได้ถ้ามี? มีความแตกต่างระหว่างการจัดการกับค่าเงินขนาดใหญ่และค่าต่ำหรือไม่? หมายเหตุ: มากง่ายโค้ดตัวอย่างของวิธีการที่ฉันอาจพบค่าเงินในชีวิตประจำวัน (กังวลด้านความปลอดภัยต่าง ๆ ถูกละเลยทำให้เข้าใจง่ายแน่นอนในชีวิตจริงฉันไม่เคยจะใช้รหัสของฉันเช่นนี้.) $a= $_POST['price_in_dollars']; //-->(ex: 25.06) will be read as a string should it be cast to double? $b= $_POST['discount_rate'];//-->(ex: 0.35) value will always be …

5
เป็นหน้าที่ของโปรแกรมเมอร์ในการออกแบบฐานข้อมูลหรือไม่?
ฉันเป็นโปรแกรมเมอร์มาหกปีแล้ว ตลอดอาชีพของฉันฉันได้ทำงานกับเว็บแอปพลิเคชันมากมาย ส่วนใหญ่เวลาที่ต้องการฐานข้อมูลก็ให้เรา (โปรแกรมเมอร์) หรือเรามีฐานข้อมูลเดิมที่จะทำงาน ถ้าไม่เช่นนั้นเราก็ต้องสร้างและออกแบบฐานข้อมูลด้วยตัวเราเองซึ่งไม่ได้ยากขนาดนั้น แต่เราในฐานะโปรแกรมเมอร์ควรจะสร้างฐานข้อมูลทั้งหมดตั้งแต่ต้นเมื่อเราต้องสร้างแอปพลิเคชั่นใหม่ซึ่งข้อมูลมีความสำคัญและมีข้อกำหนดที่ยุ่งเหยิงกับตัวแบบข้อมูลที่ซับซ้อน? มันเป็นไปเพื่อผลประโยชน์ที่ดีที่สุดของแอพและ บริษัท ที่จะทำมันโดยผู้เชี่ยวชาญหรือไม่? ฉันไม่ได้พยายามหนีจากการออกแบบฐานข้อมูล แต่เป็นสิ่งที่สำคัญอย่างยิ่งที่จะได้รับสิทธิ

4
ฉันจะรู้ได้อย่างไรว่าข้อมูลของฉันมีความสัมพันธ์หรือเชิงวัตถุโดยธรรมชาติ
แค่อ่านบรรทัดเหล่านี้ - หากข้อมูลของคุณเป็นวัตถุโดยทั่วไปให้ใช้ที่เก็บวัตถุ ("NoSQL") มันจะเร็วกว่าฐานข้อมูลเชิงสัมพันธ์ หากข้อมูลของคุณเป็นแบบเชิงสัมพันธ์ค่าใช้จ่ายของฐานข้อมูลเชิงสัมพันธ์จะคุ้มค่า จาก- http://seldo.com/weblog/2011/06/15/orm_is_an_antipattern ดังนั้นฉันจะรู้ได้อย่างไรว่าข้อมูลของฉันสัมพันธ์ในลักษณะเชิงวัตถุหรือไม่?

9
นักพัฒนาควรมีการเข้าถึงฐานข้อมูลเท่าใด [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน5 ปีที่ผ่านมา ดังนั้นฉันจึงทำงานในสถานที่ทำงานที่แตกต่างกันมากมายในฐานะนักพัฒนาและระดับการเข้าถึงฐานข้อมูลของฉันมีการเปลี่ยนแปลง โดยทั่วไปฉันไม่มีสิทธิ์เข้าถึงฐานข้อมูลการผลิต เวลาส่วนใหญ่ของฉันมีการเข้าถึงฐานข้อมูลการทดสอบ แต่มันแตกต่างกันไป บางครั้งฉันสามารถทำได้และเปลี่ยนฐานข้อมูลและข้อมูลตามที่ฉันต้องการ แต่มักจะมีข้อตกลงอื่น ๆ เช่นเดียวกับฉันอาจเข้าถึงการอ่านข้อมูลได้เท่านั้น ฉันทำงานในที่เดียวที่ทีม DBA จะจัดการฐานข้อมูลเราไม่สามารถเปลี่ยนแปลงได้เลยนอกจากว่าเราจะส่งแบบฟอร์มด้วยสคริปต์ sql สำหรับพวกเขาเพื่อ "ตรวจสอบ" โดยทั่วไปแล้วพวกเขาไม่มีอะไรเกี่ยวข้องกับโครงการมากนักเวลาส่วนใหญ่ก็แค่กด F5 สุจริตฉันสามารถเข้าใจว่าทำไมต้องแยงลง แต่ฉันชอบที่จะมีการเข้าถึงฐานข้อมูลมากในสภาพแวดล้อม dev และทดสอบ ฉันคิดว่า devs ส่วนใหญ่มีความสามารถพอสมควรที่จะรู้วิธีการของพวกเขารอบฐานข้อมูล แต่ฉันต้องการที่จะได้ยินความคิดเห็น นักพัฒนาควรมีการเข้าถึงฐานข้อมูลเท่าใด เราสามารถเชื่อถือได้หรือไม่ที่จะทำลายทุกสิ่งที่นั่น?

4
อยู่ OO และทดสอบได้ในขณะที่ทำงานกับฐานข้อมูล
อะไรคือกลยุทธ์ของ OOP สำหรับการทำงานกับฐานข้อมูล แต่ทำให้สิ่งต่าง ๆ ที่หน่วยทดสอบได้? ว่าฉันมีคลาสผู้ใช้และสภาพแวดล้อมการผลิตของฉันทำงานกับ MySQL ฉันเห็นแนวทางที่เป็นไปได้สองสามข้อแสดงที่นี่โดยใช้ PHP: ส่งผ่าน $ data_source พร้อมอินเทอร์เฟซสำหรับload()และsave()เป็นนามธรรมแหล่งข้อมูลเบื้องหลัง เมื่อทำการทดสอบให้ส่งผ่านแหล่งข้อมูลอื่น $ user = ผู้ใช้ใหม่ ($ mysql_data_source); $ user-> load ('bob'); $ user-> setNickname ('Robby'); $ ที่ผู้ใช้> บันทึก (); ใช้โรงงานที่เข้าถึงฐานข้อมูลและส่งผ่านแถวผลลัพธ์ไปยังตัวสร้างของผู้ใช้ เมื่อทำการทดสอบให้สร้างพารามิเตอร์ $ row หรือจำลองวัตถุใน UserFactory :: $ data_source ด้วยตนเอง (ฉันจะบันทึกการเปลี่ยนแปลงในระเบียนได้อย่างไร) class UserFactory { static $data_source; public …

7
ข้อเสียของการใช้ foreign key แบบ nullable แทนการสร้างตาราง intersection
ว่าฉันมีแผนภาพ ER ต่อไปนี้: ตอนนี้ถ้าฉันแสดงถึงความสัมพันธ์โดยใช้ foreign key ของSchoolin StudentฉันสามารถมีNULLค่าได้(เนื่องจาก a Student ไม่จำเป็นต้องเป็นของ a School) ตัวอย่างเช่น: ดังนั้นวิธีที่ถูกต้อง (ขึ้นอยู่กับสิ่งที่ฉันได้อ่าน) คือการสร้างตารางสี่แยกเพื่อเป็นตัวแทนของความสัมพันธ์ตัวอย่างเช่น วิธีนี้ไม่มีค่าสามารถจะนำเสนอในตารางNULLSchool_has_Student แต่อะไรคือข้อเสียของการใช้ foreign key แบบ nullable แทนการสร้างตาราง intersection? แก้ไข: ฉันเลือก ( school_id, student_id) เป็นคีย์หลักสำหรับSchool_has_Studentตารางโดยไม่ตั้งใจซึ่งทำให้ความสัมพันธ์แบบนี้มีมากหลายต่อหลายคน คีย์หลักที่ถูกต้องควรเป็นstudent_id:

3
สกีมาฐานข้อมูลสำหรับรายการสิ่งที่ต้องทำ
ฉันกำลังพยายามสร้างแอพพลิเคชั่นรายการสิ่งที่ต้องทำง่ายๆด้วย PHP, MySQL, Jquery templating และ JSON ... อย่างไรก็ตามโครงสร้างของฉันดูเหมือนจะซับซ้อนกว่าใน JSON วิธีที่ดีที่สุดที่จะทำคืออะไร? ตารางใหม่สำหรับแต่ละรายการที่มีรายการ หรือ ตารางสำหรับรายการและตารางสำหรับรายการที่เข้าร่วมอย่างใด เพราะฉันได้ลองสิ่งนี้แล้วและดูเหมือนว่ามันจะไม่ถูกใช่มั้ย ตัวอย่างhttp://jsfiddle.net/Lto3xuhe/

2
ทำไมฉันถึงต้องใช้ ElasticSearch ถ้าฉันใช้ฐานข้อมูลกราฟอยู่แล้ว?
ฉันไม่พบคำอธิบายเชิงลึกใด ๆ บนเว็บเกี่ยวกับการเปรียบเทียบระหว่างElasticSearchกับฐานข้อมูลกราฟ ทั้งสองได้รับการปรับให้เหมาะกับข้อมูลการสำรวจ ดูเหมือนว่า ElasticSearch จะได้รับการปรับให้เหมาะกับการวิเคราะห์ อย่างไรก็ตาม Neo4j ยังใช้ Lucene ในการจัดการดัชนีและคุณสมบัติ fulltext ทำไมฉันถึงต้องใช้ ElasticSearch ถ้าฉันใช้ฐานข้อมูลกราฟอยู่แล้ว? ในกรณีของฉันฉันใช้Neo4jเพื่อสร้างเครือข่ายสังคม ElasticSearch อาจนำประโยชน์อะไรมาให้จริง อัพเดท ---------- ฉันเพิ่งพบย่อหน้านี้: มีหลายกรณีที่ elasticsearch เป็นประโยชน์ กรณีการใช้งานบางอย่างเรียกร้องให้ชัดเจนกว่ากรณีอื่น ๆ รายการด้านล่างนี้เป็นงานบางส่วนที่ใช้งานการค้นหาด้วยยาง ค้นหาคำอธิบายผลิตภัณฑ์จำนวนมากเพื่อหาคู่ที่ดีที่สุดสำหรับวลีที่เฉพาะเจาะจง (พูดว่า "มีดเชฟ") และส่งคืนผลลัพธ์ที่ดีที่สุด จากตัวอย่างก่อนหน้านี้ทำลายแผนกต่างๆที่มี“ มีดเชฟ” ปรากฏขึ้น (ดูการเผชิญหน้าในภายหลังในหนังสือเล่มนี้) ค้นหาข้อความสำหรับคำที่ดูเหมือน "ฤดู" เติมคำในช่องค้นหาโดยอัตโนมัติตามคำที่พิมพ์บางส่วนโดยอ้างอิงจากการค้นหาที่ออกมาก่อนหน้าในขณะที่คิดคำสะกดผิด การจัดเก็บข้อมูล semi-Structured (JSON) จำนวนมากในรูปแบบที่กระจายด้วยระดับความซ้ำซ้อนที่ระบุในคลัสเตอร์ของเครื่องจักร อย่างไรก็ตามควรสังเกตว่าในขณะที่อีลาสติครีทรีทเป็นผู้แก้ปัญหาดังกล่าวได้ดีก็ไม่ใช่ทางเลือกที่ดีที่สุดสำหรับผู้อื่น มันไม่ดีเป็นพิเศษในการแก้ปัญหาซึ่งฐานข้อมูลเชิงสัมพันธ์ได้รับการปรับปรุง ปัญหาเช่นที่ระบุไว้ด้านล่าง การคำนวณจำนวนสินค้าที่เหลืออยู่ในสินค้าคงคลัง การหาผลรวมของรายการโฆษณาทั้งหมดในใบแจ้งหนี้ทั้งหมดที่ส่งออกในเดือนที่กำหนด การดำเนินการการดำเนินการสองรายการด้วยการสนับสนุนการย้อนกลับ การสร้างบันทึกที่รับประกันว่าจะไม่ซ้ำกันในหลาย …

4
ทำไมฐานข้อมูลเชิงสัมพันธ์ยอมรับเฉพาะแบบสอบถาม SQL?
เท่าที่ฉันรู้ฐานข้อมูลเชิงสัมพันธ์ส่วนใหญ่ไม่ได้เสนอ API ระดับไดรเวอร์สำหรับการสืบค้นยกเว้นqueryฟังก์ชั่นที่ใช้สตริง SQL เป็นอาร์กิวเมนต์ ฉันกำลังคิดว่ามันจะง่ายกว่านี้หากมีใครทำได้: var result = mysql.select('article', {id: 3}) สำหรับตารางที่เข้าร่วมมันจะซับซ้อนกว่าเล็กน้อย แต่ก็ยังเป็นไปได้ ตัวอย่างเช่น: var tables = mysql.join({tables: ['article', 'category'], on: 'categoryID'}); mysql.select(tables, {'article.id': 3}, ['article.title', 'article.body', 'category.categoryID']) รหัสที่สะอาดกว่าไม่มีการแยกสตริงค่าใช้จ่ายไม่มีปัญหาการฉีดใช้องค์ประกอบการสืบค้นได้ง่ายขึ้น ... ฉันเห็นข้อดีมากมาย มีเหตุผลที่เฉพาะเจาะจงหรือไม่ที่เลือกให้เฉพาะการเข้าถึงคิวรีผ่าน SQL เท่านั้น
15 database  sql 

2
B-Trees และโครงสร้างข้อมูลอื่น ๆ จะล้าสมัยเมื่อมีการถือกำเนิดของ Solid State Drive หรือไม่?
ปัจจุบันแอพพลิเคชั่นฐานข้อมูลจำนวนมาก (อาจจะมากที่สุด) ใช้ B-Trees และรูปแบบที่หลากหลายในการจัดเก็บข้อมูลเนื่องจากโครงสร้างข้อมูลนี้ปรับการดำเนินการอ่านเขียนและค้นหาบนฮาร์ดดิสก์ให้เหมาะสม (และการดำเนินการเหล่านี้จะมีบทบาทสำคัญในประสิทธิภาพโดยรวมของ ฐานข้อมูล) Solid State Drives (SSDs) ควรจะแทนที่ฮาร์ดดิสก์แบบดั้งเดิม (HDDs) อย่างสมบูรณ์หรือไม่เราสามารถพูดได้ว่า B-Trees และรูปแบบต่างๆจะล้าสมัยทำให้มีที่ว่างสำหรับโครงสร้างข้อมูลที่มีประสิทธิภาพมากขึ้นในหน่วยความจำโดยตรง ถ้าเป็นเช่นนั้นโครงสร้างเหล่านั้นจะเป็นอย่างไร (เช่นตารางแฮชต้นไม้ AVL)

6
SQLite ประเมินค่าน้อยไปหรือเปล่า [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังคำตอบที่จะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้อาจเรียกร้องให้มีการถกเถียงอภิปรายโต้แย้งหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน8 ปีที่ผ่านมา ก่อนที่ฉันจะถามคำถามให้ฉันอธิบายความคิดของฉันเกี่ยวกับ SQLite ก่อน ฉันชอบเครื่องมือที่มีขนาดเล็กเร็วและที่สำคัญมีฟังก์ชันที่จำเป็นจริงๆเท่านั้น นั่นเป็นเหตุผลที่ฉันชอบ SQLite และฉันชอบ MS-SQL น้อยลง ตัวอย่างเช่น: MS-SQL อาจมีฟังก์ชั่นการปรับขนาดและอื่น ๆ อีกมากมาย แต่ก็อาจเป็นเรื่องยากที่จะติดตั้งหากคุณโชคไม่ดี แน่นอนฉันไม่ได้บอกว่าการติดตั้งที่ยากเป็นเหตุผลที่ไม่เลือกฐานข้อมูลเฉพาะ ไม่เข้าใจฉันผิด: MS-SQL เป็นผลิตภัณฑ์คุณภาพดี ฉันมีประสบการณ์มากกับ MS-SQL; ฉันเข้าใจผลิตภัณฑ์เป็นอย่างดีในฐานะมืออาชีพ ฉันชอบน้อยกว่าในบางกรณีที่ไม่จำเป็นจริงๆ (= มีผู้ใช้ไม่มาก <10-15) คุณใช้ฟังก์ชันการทำงานของฐานข้อมูลมากน้อยเพียงใด จากประสบการณ์ของฉันมันมักจะเป็น SQL ปกติ (SELECT, INSERT และ UPDATE) ฉันชอบ SQLite น่าหลงใหลรวดเร็ว มันง่ายมากที่จะ "ติดตั้ง" ฉันคิดว่า SQLite สามารถทำได้มากกว่าที่อ้างว่าทำได้ …

4
การเชื่อมต่อฐานข้อมูลจะถูกปิดหรือไม่ถ้าเราให้ผลแถวของ data datader และไม่อ่านบันทึกทั้งหมด?
ในขณะที่ทำความเข้าใจวิธีการyieldทำงานของคำหลักฉันเจอlink1และlink2บน StackOverflow ซึ่งสนับสนุนการใช้งานyield returnในขณะวนซ้ำ DataReader และเหมาะสมกับความต้องการของฉันเช่นกัน แต่มันทำให้ฉันสงสัยว่าเกิดอะไรขึ้นถ้าฉันใช้yield returnดังที่แสดงด้านล่างและถ้าฉันไม่ทำซ้ำใน DataReader ทั้งหมดการเชื่อมต่อฐานข้อมูลจะเปิดตลอดไปหรือไม่ IEnumerable<IDataRecord> GetRecords() { SqlConnection myConnection = new SqlConnection(@"..."); SqlCommand myCommand = new SqlCommand(@"...", myConnection); myCommand.CommandType = System.Data.CommandType.Text; myConnection.Open(); myReader = myCommand.ExecuteReader(CommandBehavior.CloseConnection); try { while (myReader.Read()) { yield return myReader; } } finally { myReader.Close(); } } void AnotherMethod() { foreach(var …
15 c#  database  .net  resources 

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