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

โครงสร้างข้อมูลการจัดทำดัชนีเป็นเทคนิคทั่วไปเพื่อปรับปรุงความเร็วของการค้นหาข้อมูล

12
โดยทั่วไปคอลัมน์ใดที่สร้างดัชนีที่ดี
จากการติดตามผล " ดัชนีคืออะไรและฉันจะใช้เพื่อเพิ่มประสิทธิภาพการสืบค้นในฐานข้อมูลของฉันได้อย่างไร " ที่ฉันกำลังพยายามเรียนรู้เกี่ยวกับดัชนีคอลัมน์ใดบ้างที่เป็นดัชนีที่ดี โดยเฉพาะสำหรับฐานข้อมูล MS SQL? หลังจาก googling แล้วทุกสิ่งที่ฉันได้อ่านชี้ให้เห็นว่าคอลัมน์ที่โดยทั่วไปเพิ่มขึ้นและไม่ซ้ำกันทำให้ดัชนีที่ดี (เช่นการเพิ่มอัตโนมัติของ MySQL) ฉันเข้าใจสิ่งนี้ แต่ฉันใช้ MS SQL และฉันใช้ GUID สำหรับคีย์หลักดังนั้นดูเหมือนว่า ดัชนีนั้นจะไม่เป็นประโยชน์ต่อคอลัมน์ GUID ...

1
SQL Server - เมื่อใดควรใช้ Clustered เทียบกับ Non-Clustered Index?
ฉันรู้ความแตกต่างหลักระหว่างดัชนีแบบคลัสเตอร์และไม่ใช่คลัสเตอร์และมีความเข้าใจว่ามันทำงานอย่างไร ฉันเข้าใจว่าดัชนีที่คลัสเตอร์และไม่ใช่คลัสเตอร์ช่วยเพิ่มประสิทธิภาพการอ่านได้อย่างไร แต่สิ่งหนึ่งที่ฉันไม่แน่ใจคืออะไรคือเหตุผลที่ฉันจะเลือกอย่างใดอย่างหนึ่ง ตัวอย่างเช่น: ถ้าตารางไม่มีดัชนีคลัสเตอร์ควรสร้างดัชนีที่ไม่ใช่คลัสเตอร์และประโยชน์ของการทำอะไร

3
PostgreSQL รองรับการเปรียบเทียบแบบ“ เน้นเสียง” หรือไม่
ใน Microsoft SQL Server เป็นไปได้ที่จะระบุการเปรียบเทียบแบบ "ไม่เน้นเสียง" (สำหรับฐานข้อมูลตารางหรือคอลัมน์) ซึ่งหมายความว่าเป็นไปได้สำหรับแบบสอบถามเช่น SELECT * FROM users WHERE name LIKE 'João' เพื่อค้นหาแถวที่มีJoaoชื่อ ฉันรู้ว่าเป็นไปได้ที่จะตัดสำเนียงจากสตริงใน PostgreSQL โดยใช้ฟังก์ชันการสนับสนุนunaccent_stringแต่ฉันสงสัยว่า PostgreSQL รองรับการเรียง "ไม่เน้นเสียง" เหล่านี้หรือไม่ดังนั้นSELECTข้างต้นจะได้ผล

4
เอกสารดัชนีลูซีนอย่างไร?
ฉันอ่านเอกสารเกี่ยวกับ Lucene; ฉันอ่านเอกสารในลิงค์นี้ด้วย ( http://lucene.sourceforge.net/talks/pisa ) ฉันไม่เข้าใจจริงๆว่า Lucene ทำดัชนีเอกสารอย่างไรและไม่เข้าใจว่า Lucene ใช้อัลกอริทึมใดในการจัดทำดัชนี ในลิงค์ด้านบนกล่าวว่า Lucene ใช้อัลกอริทึมนี้ในการจัดทำดัชนี: อัลกอริทึมที่เพิ่มขึ้น: รักษาสแต็กของดัชนีเซ็กเมนต์ สร้างดัชนีสำหรับเอกสารขาเข้าแต่ละฉบับ ดันดัชนีใหม่ไปยังสแต็ก ให้ b = 10 เป็นปัจจัยผสาน M = 8 for (size = 1; size < M; size *= b) { if (there are b indexes with size docs on top of the stack) …

5
คลัสเตอร์เทียบกับไม่ใช่คลัสเตอร์
ความรู้ระดับล่างของฉันเกี่ยวกับ SQL (Server 2008) มี จำกัด และขณะนี้ DBA ของเราได้รับการพิสูจน์แล้ว ให้ฉันอธิบาย (ฉันได้กล่าวถึงข้อความที่ชัดเจนด้วยความหวังว่าฉันถูก แต่ถ้าคุณเห็นบางอย่างผิดปกติโปรดบอกฉัน) สถานการณ์: เรามีโต๊ะที่มี 'คำสั่งศาล' สำหรับผู้คน เมื่อฉันสร้างตาราง (ชื่อ: CourtOrder) ฉันสร้างมันดังนี้: CREATE TABLE dbo.CourtOrder ( CourtOrderID INT NOT NULL IDENTITY(1,1), (Primary Key) PersonId INT NOT NULL, + around 20 other fields of different types. ) จากนั้นฉันใช้ดัชนีที่ไม่ใช่คลัสเตอร์กับคีย์หลัก (เพื่อประสิทธิภาพ) เหตุผลของฉันคือมันเป็นฟิลด์ที่ไม่ซ้ำกัน (คีย์หลัก) และควรจัดทำดัชนีเพื่อจุดประสงค์ในการเลือกเป็นหลักเนื่องจากเรามักจะSelect from …

2
จัดทำดัชนีหลายคอลัมน์ใน Ruby on Rails
ฉันกำลังใช้ฟังก์ชันเพื่อติดตามว่าผู้ใช้อ่านบทความใดบ้าง create_table "article", :force => true do |t| t.string "title" t.text "content" end นี่คือการย้ายข้อมูลของฉันจนถึงตอนนี้: create_table :user_views do |t| t.integer :user_id t.integer :article_id end ตาราง user_views จะถูกสอบถามเพื่อค้นหาทั้งสองคอลัมน์เสมอไม่ใช่เพียงคอลัมน์เดียว คำถามของฉันคือดัชนีของฉันควรมีลักษณะอย่างไร ลำดับของตารางเหล่านี้มีความแตกต่างกันหรือไม่ควรมีตัวเลือกมากกว่านี้หรืออะไรก็ตาม ฐานข้อมูลเป้าหมายของฉันคือ Postgres add_index(:user_views, [:article_id, :user_id]) ขอบคุณ. อัปเดต: เนื่องจากมีเพียงแถวเดียวที่มีค่าเดียวกันในทั้งสองคอลัมน์ (เนื่องจากทราบว่า user_id HAS อ่าน article_id หรือไม่) ฉันควรพิจารณาตัวเลือก: unique หรือไม่ หากฉันไม่เข้าใจผิดนั่นหมายความว่าฉันไม่ต้องทำการตรวจสอบใด ๆ ด้วยตัวเองและเพียงแค่ทำการแทรกทุกครั้งที่ผู้ใช้เข้าชมบทความ


2
ดัชนีหลายคอลัมน์เมื่อใช้ส่วนขยาย ORM ที่เปิดเผยของ sqlalchemy
ตามเอกสารประกอบและข้อคิดเห็นในsqlalchemy.Columnคลาสเราควรใช้คลาสsqlalchemy.schema.Indexเพื่อระบุดัชนีที่มีหลายคอลัมน์ อย่างไรก็ตามตัวอย่างแสดงวิธีการทำโดยใช้วัตถุตารางโดยตรงดังนี้: meta = MetaData() mytable = Table('mytable', meta, # an indexed column, with index "ix_mytable_col1" Column('col1', Integer, index=True), # a uniquely indexed column with index "ix_mytable_col2" Column('col2', Integer, index=True, unique=True), Column('col3', Integer), Column('col4', Integer), Column('col5', Integer), Column('col6', Integer), ) # place an index on col3, col4 Index('idx_col34', mytable.c.col3, mytable.c.col4) …

7
จะจัดทำดัชนีลงในพจนานุกรมได้อย่างไร?
ฉันมีพจนานุกรมด้านล่าง: colors = { "blue" : "5", "red" : "6", "yellow" : "8", } ฉันจะจัดทำดัชนีรายการแรกในพจนานุกรมได้อย่างไร colors[0]จะส่งกลับKeyErrorด้วยเหตุผลที่ชัดเจน

2
อัปเดตค่าแถวที่ตรงตามเงื่อนไขในแพนด้า
สมมติว่าฉันมี dataframe ต่อไปนี้: เป็นวิธีที่มีประสิทธิภาพมากที่สุดในการปรับปรุงค่าของคอลัมน์อะไรสำเร็จและanother_featที่สตรีมเป็นจำนวน2 ? นี่มัน? for index, row in df.iterrows(): if df1.loc[index,'stream'] == 2: # do something UPDATE: จะทำอย่างไรถ้าฉันมีมากกว่า 100 คอลัมน์? ฉันไม่ต้องการตั้งชื่อคอลัมน์ที่ต้องการอัปเดตอย่างชัดเจน ฉันต้องการหารค่าของแต่ละคอลัมน์ด้วย 2 (ยกเว้นคอลัมน์สตรีม) เพื่อให้ชัดเจนว่าเป้าหมายของฉันคืออะไร: หารค่าทั้งหมดด้วย 2 แถวทั้งหมดที่มีสตรีม 2 แต่ไม่เปลี่ยนคอลัมน์สตรีม

19
C # ค้นหาค่าอาร์เรย์และดัชนีสูงสุด
ดังนั้นฉันจึงมีอาร์เรย์ตัวเลขที่ไม่ได้เรียงลำดับint[] anArray = { 1, 5, 2, 7 };และฉันต้องการรับทั้งค่าและดัชนีของค่าที่ใหญ่ที่สุดในอาร์เรย์ซึ่งจะเป็น 7 และ 3 ฉันจะทำอย่างไร
93 c#  arrays  indexing 

6
Angularjs ดัชนี $ ผิดหลังจาก orderBy
ฉันเพิ่งเริ่มใช้ Angular.js และมีปัญหาในการจัดเรียงอาร์เรย์ของฉันและทำงานกับข้อมูลที่เรียงลำดับนั้น ฉันมีรายการที่มีรายการและต้องการให้จัดเรียงตาม "Store.storeName" ซึ่งใช้งานได้แล้ว แต่หลังจากจัดเรียงข้อมูลฟังก์ชันลบของฉันไม่ทำงานอีกต่อไป ฉันคิดว่าเป็นเพราะดัชนี $ ผิดหลังจากการเรียงลำดับข้อมูลที่ไม่ถูกต้องจึงถูกลบ ฉันจะแก้ปัญหานั้นได้อย่างไร? จัดลำดับข้อมูลในขอบเขตและไม่อยู่ในมุมมอง? ต้องทำอย่างไร? นี่คือรหัสที่เกี่ยวข้อง: ในมุมมอง: <tr ng-repeat="item in items | orderBy:'Store.storeName'"> <td><input class="toggle" type="checkbox" ng-model="item.Completed"></td> <td>{{item.Name}}</td> <td>{{item.Quantity}} Stk.</td> <td>{{item.Price || 0 | number:2}} €</td> <td>{{item.Quantity*item.Price|| 0 | number:2}} €</td> <td>{{item.Store.storeName}}</td> <td><a><img src="img/delete.png" ng-click="removeItem($index)">{{$index}}</a></td> </tr> และในคอนโทรลเลอร์ของฉันฉันมีฟังก์ชั่นการลบนี้ซึ่งควรลบข้อมูลเฉพาะ: $scope.removeItem = function(index){ $scope.items.splice(index,1); } …

7
วิธีที่ง่ายที่สุดในการตรวจสอบดัชนีหรือคีย์ในอาร์เรย์
ใช้: set -o nounset มีอาร์เรย์ที่จัดทำดัชนีเช่น: myArray=( "red" "black" "blue" ) วิธีที่สั้นที่สุดในการตรวจสอบว่าองค์ประกอบ 1 ถูกตั้งค่าไว้หรือไม่ บางครั้งฉันใช้สิ่งต่อไปนี้: test "${#myArray[@]}" -gt "1" && echo "1 exists" || echo "1 doesn't exist" ฉันต้องการทราบว่ามีที่ต้องการหรือไม่ จะจัดการกับดัชนีที่ไม่ต่อเนื่องได้อย่างไร? myArray=() myArray[12]="red" myArray[51]="black" myArray[129]="blue" วิธีการตรวจสอบด่วนที่51กำหนดไว้แล้วเช่น? จะจัดการกับ Associative Arrays ได้อย่างไร? declare -A myArray myArray["key1"]="red" myArray["key2"]="black" myArray["key3"]="blue" วิธีการตรวจสอบด่วนที่key2ใช้อยู่แล้วเช่น?
92 arrays  bash  indexing  key 

5
การสร้างดัชนีก่อนกรอกข้อมูลในตารางจะดีกว่าหรือไม่หรือหลังจากจัดวางข้อมูลแล้ว
ฉันมีตารางประมาณ 100 ล้านแถวที่ฉันจะคัดลอกเพื่อแก้ไขเพิ่มดัชนี ฉันไม่ได้กังวลกับเวลาที่ต้องใช้ในการสร้างตารางใหม่ แต่ดัชนีที่สร้างขึ้นจะมีประสิทธิภาพมากขึ้นหรือไม่หากฉันแก้ไขตารางก่อนที่จะแทรกข้อมูลใด ๆ หรือแทรกข้อมูลก่อนแล้วจึงเพิ่มดัชนี

7
ลบสตริงว่างออกจากอาร์เรย์ในขณะที่เก็บบันทึกโดยไม่ต้องวนซ้ำ?
คำถามนี้ถูกถามที่นี่: ลบสตริงว่างออกจากอาร์เรย์ในขณะที่เก็บบันทึกดัชนีด้วยสตริงที่ไม่ว่างเปล่า หากคุณสังเกตเห็นว่า @Baz ได้ระบุไว้ "I", "am", "", "still", "here", "", "man" "และจากนี้ฉันต้องการสร้างอาร์เรย์สองอาร์เรย์ต่อไปนี้:" "I", "am", "still", "here", "man" คำตอบทั้งหมดสำหรับคำถามนี้อ้างถึงรูปแบบของการวนซ้ำ คำถามของฉัน: มีความเป็นไปได้ไหมที่จะลบindex es ทั้งหมดempty string โดยไม่ต้องวนซ้ำ ... มีทางเลือกอื่นนอกเหนือจากการวนซ้ำอาร์เรย์หรือไม่? อาจจะเป็นบางส่วนregexหรือบางส่วนjQueryที่เราไม่ทราบ? คำตอบหรือข้อเสนอแนะทั้งหมดได้รับการชื่นชมอย่างมาก

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