การเพิ่มประสิทธิภาพแบบสอบถาม MySQL การเพิ่มประสิทธิภาพของการสืบค้น MySQL ชุดการสืบค้น MySQL ในที่เดียว

โกลอฟนา / ฟังก์ชั่นเพิ่มเติม

ฉันมีบทความเล็ก ๆ เกี่ยวกับฐานข้อมูลของโค้ด MySQL การเลือกและสิ่งที่ชอบ การทำงานกับฐานข้อมูลมักจำเป็นต้องสร้างจำนวนแถว COUNT () ด้วยสมองแบบเดี่ยวหรือไม่มีมันเพียงแค่เหยียบลงไป

การตรวจสอบโค้ด MySQL

ขอหมุนเวียนค่าจากจำนวนแถวในตาราง

ปิดราหุนกด้วยจิตใจ

การตรวจสอบโค้ด MySQL

ขอการหมุนจำนวนแถวในตารางให้ตรงกับใจที่กำหนด: var = 1

สำหรับ otrimannya kіlkohค่าpіdrakhunku ryadkov ที่มีจิตใจที่แตกต่างกันสามารถอยู่บนพื้นฐานของ vikonati kіlkazapitіvได้เช่น

การตรวจสอบโค้ด MySQL

แต่ในแถวของvipadkіvpіdkhіdดังกล่าวไม่สามารถใช้งานได้จริงและไม่เหมาะสมที่สุด ดังนั้นองค์กรของคำขอจึงมีความเกี่ยวข้องพร้อมเงินอุดหนุนจำนวนมากสำหรับการถอนผลลัพธ์ในคำขอเดียว ตัวอย่างเช่น

การตรวจสอบโค้ด MySQL

ในอันดับนี้ถ้ามีน้ำลงมาเพียงอันเดียวจนถึงฐานข้อมูลเราก็นำผลลัพธ์ที่มีจำนวนแถวสำหรับจำนวนจิตใจเพื่อล้างแค้นจำนวนจำนวนไอ้สารเลวเป็นต้น

ทบทวนรหัส TEXT

c1|c2|c3 -------- 1 |5 |8

ด้วยใบขอเสนอจำนวนสั้นๆ จากบัญชีธนาคาร คุณสามารถใช้ความปลอดภัยของเงินฝากและดอกเบี้ยกับฐานข้อมูลได้

ขั้นตอนต่อไปคือการแทนที่การวางไข่ COUNT ในแบบสอบถาม MySQL เดียว มิฉะนั้น IF โครงสร้าง (ใจ ค่า 1 ค่า 2) เช่นเดียวกับผลรวม SUM () จะถูกนำมาใช้ในรูปแบบใหม่ ช่วยให้คุณสามารถเลือกข้อมูลตามเกณฑ์ที่กำหนดภายในกรอบของคำขอเดียว จากนั้นสรุปข้อมูลเหล่านั้น และป้อนค่าตามผลลัพธ์

การตรวจสอบโค้ด MySQL

ดังที่เห็นได้จากคำขอควรส่งมอบไวน์แห่งแรงจูงใจอย่างรวบรัด แต่ความเร็วของ vikonnanny นี้ไม่เป็นที่พอใจซึ่งผลลัพธ์ที่คำขอจะเกิดขึ้น

ทบทวนรหัส TEXT

รวม|c1|c2|c3 -------------- 14 |1 |5 |8

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

ชวิดคิสต์ วิโคนันยา
สาม Okremis: 0.9 วินาที
คำขอหนึ่งรายการคือpіdzapitami: 0.95 วินาที
คำขอหนึ่งรายการที่มีโครงสร้าง IF และ SUM: 1.5 วินาที

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

บทเรียนที่แล้วเราสะดุดล้มไปหนึ่งมือ หากเราอยากรู้ว่าใครเป็นคนสร้างธีม "จักรยาน" เราก็พยายามถาม:

แทนที่จะลบชื่อผู้เขียน เราได้ลบตัวระบุ yogo ออก Tse และ zrozumilo แม้กระทั่ง mi robili zap ในตารางเดียว - หัวข้อและชื่อของผู้แต่งหัวข้อจะถูกบันทึกไว้ในตารางถัดไป - Koristuvachi ดังนั้นเมื่อรู้จักตัวระบุของผู้เขียนแล้ว เราจำเป็นต้องเพิ่มคำขออีกหนึ่งคำขอ - ลงในตาราง Koristuvach เพื่อจดจำชื่อของเขา:

SQL ถ่ายโอนความสามารถในการรวมเครื่องดื่มในลักษณะเดียวโดยแปลงหนึ่งในนั้นให้เป็น subzapit (แอปพลิเคชัน) Otzhe เพื่อรับรู้ว่าใครเป็นคนสร้างธีมของ "จักรยาน" เราจึงโจมตีแบบปล้น:

Tobto หลังคีย์เวิร์ด ที่ไหนสำหรับจิตใจเราเขียนคำขออีกข้อหนึ่ง MySQL แปลงอินพุตแบบสุ่ม หมุน id_author=2 และส่งค่าไปยังข้อเสนอ ที่ไหนคำขอที่ใจแข็ง

ในคำขอหนึ่งอาจมี pidzapitiv ฉีดได้ไวยากรณ์มีดังนี้: เพื่อให้ความเคารพว่า pidzapit สามารถเลือกได้เพียงขั้นตอนเดียวซึ่งหมายถึงกลิ่นเหม็นที่จะหันไปหา sovnishnoy zapit การพยายามเลือกkіlkastovptsіvถูกนำไปอภัยโทษ

ขอเก็บคำขอซ่อมไว้อีกหนึ่งรายการเรารู้วิธีแจ้งในฟอรัมโดยกีดกันผู้เขียน "จักรยาน" เหล่านั้น:

ตอนนี้ เรามาทำให้เป็นเรื่องง่าย ในบางหัวข้อ ที่ทำให้ผู้เขียนท่วมท้นด้วย "จักรยาน" เหล่านั้น:

ลองคิดดูสิว่ามันทำงานอย่างไร

  • คำขอที่พบบ่อยที่สุดใน MySQL คือ:

  • ลบผลลัพธ์ (id_author=2) เพื่อส่งคำขอจริงตามที่ฉันเห็นในอนาคต:

  • ลบผลลัพธ์ (id_topic: 4,1) เพื่อส่งต่อไปยังคำขอปัจจุบัน ตามที่ฉันเห็นในอนาคต:

  • І เห็นผลคงเหลือ (topic_name: เกี่ยวกับการตกปลา, เกี่ยวกับการตกปลา) โตโต้ ผู้เขียน "จักรยาน" เหล่านั้นละทิ้งข้อมูลในหัวข้อ "เกี่ยวกับการตกปลา" สร้างโดย Sergiyem (id=1) และในหัวข้อ "เกี่ยวกับการตกปลา" สร้างโดย Light (id=4)
Ax, vlasne และทุกสิ่งที่ฉันอยากจะพูดเกี่ยวกับการลงทุนนี้ ต้องการมีสองช่วงเวลาเมื่อyakі varto หันมาเคารพ:
  • ไม่แนะนำให้ทำการลงทุนมากกว่าสามครั้งในขั้นตอนการลงทุน Tse เพื่อนำไปสู่zbіlshennya vykonannya ชั่วโมงและการพับโค้ด
  • ไวยากรณ์คำแนะนำของไฟล์แนบ ซึ่งพบได้ทั่วไปสำหรับการลงทุนส่วนใหญ่ แต่ไม่เหมือนกัน ตัวอย่างเช่น เราสามารถแทนที่คำขอได้

    เขียน

    โตโต้ เราสามารถชนะได้ในฐานะตัวดำเนินการ เช่น ชนะด้วยคีย์เวิร์ด WHERE
9 กรกฎาคม 2551 เวลา 23:37 น

การเพิ่มประสิทธิภาพแบบสอบถาม MySQL

  • MySQL

ในหุ่นยนต์ธรรมดา แม่จะถูกพาไปทางขวาพร้อมการอภัยโทษแบบเดียวกันในชั่วโมงที่เขียนเครื่องดื่ม

ในบทความนี้ ผมอยากจะกล่าวถึงประเด็นนั้น ราวกับว่าผมไม่จำเป็นต้องเขียนเพื่อถาม

  • การคัดเลือกทุกสาขา
    เลือก * จากตาราง

    ก่อนถึงชั่วโมงเขียน อย่าเลือกช่องทั้งหมด - "*" จัดเรียงฟิลด์ของคุณใหม่ ตามที่คุณต้องการฟิลด์ที่ถูกต้อง Tse เพื่อเร่งความเร็วจำนวนบรรณาการที่สั่นสะเทือนและเอาชนะได้ Krim tsgogo อย่าลืมเกี่ยวกับดัชนีว่าจะครอบคลุมอะไร การนำทางคุณต้องการฟิลด์ทั้งหมดในตารางจริงๆ แทนที่จะทำการแมปใหม่ ประการแรก จะปรับปรุงความสามารถในการอ่านโค้ด เมื่อ vikoriristannye zіrochki มันเป็นไปไม่ได้ที่จะจดจำ เช่นเดียวกับทุ่งนาในตารางโดยไม่ได้มองเข้าไปในนั้น ในอีกทางหนึ่ง จำนวนคอลัมน์ในตารางของคุณสามารถเปลี่ยนแปลงได้ทุกปี และหากวันนี้มีคอลัมน์ INT ห้าคอลัมน์ ในเดือนหนึ่งคุณจะได้รับฟิลด์ TEXT และ BLOB ซึ่งจะปรับปรุงการเลือก

  • สอบถามที่รอบครับ.
    จำเป็นต้องระบุให้ชัดเจนว่า SQL เป็นภาษาที่ทำงานเป็นทวีคูณ โปรแกรมเมอร์บางคนyakі zvikli คิดในแง่ของขั้นตอน mov สิ่งสำคัญคือต้องเปลี่ยนความคิดเป็นพหูพจน์ mov คุณสามารถจบมันได้ง่ายๆ โดยใช้กฎง่ายๆ ตามกฎง่ายๆ - อย่าดื่มเป็นรอบ ใช้อันที่คุณสามารถปล้นได้:

    1. วิบีร์กี
    $news_ids = get_list("เลือก news_id จาก today_news");
    ในขณะที่($news_id = get_next($news_ids))
    $news = get_row("เลือกหัวข้อ, เนื้อหาจากข่าว WHERE news_id = ". $news_id);

    กฎนั้นง่ายกว่านั้นอีก - ถ้าคุณดื่มน้อยลงก็ดื่มเร็วขึ้น (ถ้าคุณต้องการมันเป็นกฎก็โทษ) อย่าลืมเกี่ยวกับโครงสร้าง IN() รหัสโฮเวอร์สามารถเขียนได้ด้วยรายการเดียว:
    เลือกชื่อ เนื้อหา จาก today_news INNER JOIN ข่าว USING(news_id)

    2. ส่วนแทรก
    $log = parse_log();
    ในขณะที่($บันทึก = ถัดไป($log))
    query("INSERT INTO บันทึกค่า SET = ". $log["value"]);!}!}

    การติดกาวและจับตัวอักษรหนึ่งตัวจะมีประสิทธิภาพมากกว่า:
    INSERT INTO บันทึก (ค่า) ค่า (...), (...)

    3. อัปเดต
    บางครั้งจำเป็นต้องเปลี่ยนจำนวนแถวในตารางเดียว ส่วนความหมายที่กำลังเปลี่ยนแปลงไปนั้น ทุกอย่างก็เรียบง่าย:
    อัพเดทข่าว SET title="test" WHERE id IN (1, 2, 3).!}!}

    เนื่องจากเป็นค่าสำหรับบันทึกสกินที่มีความแตกต่าง จึงสามารถดำเนินการตามคำขอดังกล่าวได้:
    อัพเดทข่าว ตลท
    หัวเรื่อง = กรณี
    เมื่อ news_id = 1 แล้ว "aa"
    เมื่อ news_id = 2 แล้ว "bb" สิ้นสุด
    ที่ news_id ใน (1, 2)

    การทดสอบของเราแสดงให้เห็นว่าเครื่องดื่มดังกล่าวชนะมากกว่าเครื่องดื่มอื่นๆ ปริมาณเล็กน้อยถึง 2-3 เท่า

  • การดำเนินงาน Vikonannya ในฟิลด์ที่จัดทำดัชนี
    เลือก user_id จากผู้ใช้ โดยที่ blogs_count * 2 = $value

    สำหรับคำขอดังกล่าว ดัชนีไม่จำเป็นต้องได้รับการจัดทำดัชนี ก็เหมือนกับการมี blogs_count ของการจัดทำดัชนี Sob ดัชนีของ vikoristovuvsya เหนือฟิลด์ที่จัดทำดัชนีตามคำขอการเปลี่ยนแปลงไม่มีความผิด สำหรับคำขอดังกล่าว ให้ตำหนิฟังก์ชันการแปลงในอีกส่วนหนึ่ง:
    เลือก user_id จากผู้ใช้ โดยที่ blogs_count = $value / 2;

    ตัวอย่างที่คล้ายกัน:
    เลือก user_id จากผู้ใช้ WHERE TO_DAYS(CURRENT_DATE) - TO_DAYS(ลงทะเบียน)<= 10;

    คุณจะไม่สามารถบิดดัชนีในฟิลด์ที่ลงทะเบียนไว้ได้เหมือนกัน
    เลือก user_id จากผู้ใช้ที่ลงทะเบียน >= DATE_SUB (CURRENT_DATE, INTERVAL 10 DAY);
    จะ.

  • ทางเลือกของแถว
    $result = mysql_query("SELECT * FROM table", $link);
    $num_rows = mysql_num_rows($ผลลัพธ์);
    หากคุณต้องการเลือกจำนวนแถวเพื่อแสดงความคิดเดียวกัน ให้เลือกตาราง SELECT COUNT(*) FROM และอย่าเลือกแถวทั้งหมดเพียงเพื่อปรับปรุงตัวเลข
  • การเลือกแถว
    $result = mysql_query("SELECT * FROM table1", $link);
    ในขณะที่($row = mysql_fetch_assoc($result) && $i< 20) {

    }
    หากคุณต้องการตัวเลือกมากกว่า n แถว ให้เลือก LIMIT แทนการเลือกแถวในโปรแกรม
  • วิกิซอร์ซ เรียงลำดับตาม RAND()
    SELECT * จากตาราง ORDER BY RAND() จำกัด 1;

    หากตารางมีขนาดใหญ่กว่า ต่ำกว่า 4-5,000 แถว ดังนั้น ORDER BY RAND() จะเหมาะสมกว่า มีวิสคอนที่มีประสิทธิภาพมากกว่าสองรายการ:

    เช่นเดียวกับในตาราง auto_increase คีย์แรกและไม่มีการโอเวอร์โฟลว์:
    $rnd = rand(1, query("SELECT MAX(id) FROM table");
    $row = query("SELECT * FROM table WHERE id = ".$rnd);

    เกี่ยวกับ:
    $cnt = query("SELECT COUNT(*) FROM table");
    $row = query("SELECT * FROM table LIMIT ".$cnt.", 1");
    ซึ่งอาจจะดีกว่าหากตารางมีแถวจำนวนมาก

  • เข้าร่วม
    เลือก
    v.video_id
    ชื่อ,
    g.ประเภท
    จาก
    วิดีโอ AS v
    เข้าร่วมทางซ้าย
    link_actors_videos AS la ON la.video_id = v.video_id
    เข้าร่วมทางซ้าย
    นักแสดง AS a ON a.actor_id = la.actor_id
    เข้าร่วมทางซ้าย
    link_genre_video AS lg บน lg.video_id = v.video_id
    เข้าร่วมทางซ้าย
    ประเภท AS g ON g.genre_id = lg.genre_id

    จำเป็นต้องจำไว้ว่าในกรณีของ ligation จำนวนแถวในตัวแปรจะเพิ่มขึ้นในกรณีที่มีข้อต่อทางผิวหนัง JOIN สำหรับvipadkіvshvidkіvbuvaє razbiti podіbniyบัตรกำนัลที่คล้ายกันสำหรับ sprats ง่าย ๆ

  • วิกิซอร์ซจำกัด
    เลือก... จากตาราง จำกัด $start, $per_page

    หลายๆ คนคิดว่าคำขอดังกล่าวจะเปลี่ยนระเบียน $per_page (เช่น 10-20) และนั่นเป็นความคิดที่ดี Vin และ spratsyuє shvidko สำหรับสองสามปาร์ตี้แรก นอกจากนี้หากจำนวนบันทึกมีขนาดใหญ่และจำเป็นต้องสืบค้น SELECT ... FROM table LIMIT 1000000, 1000020 ดังนั้นสำหรับการสืบค้นดังกล่าว MySQL จะเลือก 1000020 ระเบียน ล้านแรกและครบรอบ 20 ปี ซึ่งไม่เร็วนัก ไม่มีวิธีแก้ไขปัญหาเล็กน้อย มีคนจำนวนมากเกินไปเพียงแค่รวมจำนวนด้านที่มีอยู่เข้ากับจำนวนที่สมเหตุสมผล นอกจากนี้ยังสามารถเร่งความเร็วการสืบค้นที่คล้ายกันไปยังดัชนีที่ครอบคลุมหรือโซลูชันของบริษัทอื่น (เช่น สฟิงซ์)

  • ในการอัปเดตคีย์ซ้ำ
    $row = query("SELECT * FROM table WHERE id=1");

    ถ้า($แถว)
    แบบสอบถาม ("อัปเดตตาราง SET คอลัมน์ = คอลัมน์ + 1 WHERE id = 1")
    อื่น
    query("INSERT INTO table SET column = 1, id=1");

    โครงสร้างที่คล้ายกันสามารถแทนที่ได้ด้วยคำขอเดียวเพื่อทำความเข้าใจการมองเห็นของคีย์หลักหรือคีย์เฉพาะโดยช่อง id:
    แทรกลงในคอลัมน์ SET ของตาราง = 1, id = 1 บนคอลัมน์การอัปเดตคีย์ซ้ำ = คอลัมน์ + 1

อ่าน

ฉันได้เขียนเกี่ยวกับนะริซโนมานิชิแล้ว แบบสอบถาม SQLแต่ถึงเวลาแล้วที่จะพูดถึงการพับสุนทรพจน์เช่น แบบสอบถาม SQL สำหรับการเลือกบันทึกจากตารางจำนวนหนึ่ง.

หากเราทำงานร่วมกับคุณบนโต๊ะเดียวกัน ทุกอย่างจะง่ายขึ้นมาก:

เลือก name_of_required_fields จาก name_table_WHERE smart_selection

ทุกอย่างเรียบง่ายและไม่สำคัญ แต่ด้วย เลือกโต๊ะกลายเป็นสิ่งที่พับได้มากขึ้น ปัญหาประการหนึ่งคือการไม่มีชื่อฟิลด์ ตัวอย่างเช่น ตารางสกินมีฟิลด์ รหัส.

ลองดูคำขอนี้:

เลือก * จาก table_1, table_2 โดยที่ table_1.id > table_2.user_id

Rich ที่ไม่ได้จัดการกับคำขอที่คล้ายกัน ฉันยอมรับว่าทุกอย่างง่ายกว่านี้โดยคิดว่าที่นี่คุณต้องตั้งชื่อตารางก่อนชื่อของฟิลด์ ในความเป็นจริงมันช่วยให้คุณสามารถ uniqnute ระหว่างชื่อฟิลด์เดียวกันได้ อย่างไรก็ตาม การพับไม่ได้อยู่ที่อะไร แต่อยู่ที่ อัลกอริทึมที่คล้ายกับแบบสอบถาม SQL.

อัลกอริทึมของความก้าวหน้าของหุ่นยนต์: ใช้รายการแรกจาก ตารางที่ 1. จะถูกนำไป รหัสบันทึกไหน ตารางที่ 1. ต้าหลี่ดูเหมือนโต๊ะ ตาราง_2. І บันทึกทั้งหมดจะถูกเพิ่ม โดยค่าฟิลด์ ผู้ใช้_idน้อย รหัสที่เลือกเข้ามา ตารางที่ 1. ตามลำดับนี้หลังจากการวนซ้ำครั้งแรกอาจปรากฏขึ้น 0 ถึงไม่จำกัดจำนวนบันทึกผลลัพธ์ ในการวนซ้ำครั้งถัดไป จะมีการบันทึกบันทึกถัดไปของตาราง ตารางที่ 1. ฉันกำลังดูโต๊ะทั้งหมดอีกครั้ง ตาราง_2และข้าพเจ้าก็จะเจริญสติต่อไป table_1.id > table_2.user_id. รายการทั้งหมดที่ทำให้ฉันพอใจ dodayutsya กับผลลัพธ์ ที่ทางออก คุณสามารถมีบันทึกได้จำนวนมาก และหลายครั้งคุณสามารถเปลี่ยนผลรวมของทั้งสองตารางได้

ถ้าคุณเข้าใจ ถ้าคุณฝึกฝนหลังจากครั้งแรกก็เยี่ยมมาก แต่ถ้าคุณไม่เข้าใจ แล้วอ่านจุดต่างๆ คุณจะเจาะลึกท่าเรือได้ไม่เพียงพอ ถ้าเข้าใจก็จะง่ายขึ้น

ซึ่งไปข้างหน้า แบบสอบถาม SQLเช่นนี้ไม่ค่อยมีvikoristovuєtsya Vіn buv เพิ่งได้รับเพื่อ คำอธิบายอัลกอริธึมการเลือกจากจำนวนตาราง. และตอนนี้เรามาดูสารเติมแต่งเพิ่มเติมกันดีกว่า แบบสอบถาม SQL. สมมติว่าเรามีตารางสองตาราง: พร้อมสินค้า (ฟิลด์ เจ้าของ_id, vіdpovіdalnogoสำหรับ รหัส vlasnik ถึงสินค้า) และ z koristuvachami (ฟิลด์ รหัส). เราต้องการอย่างใดอย่างหนึ่ง การสำรองข้อมูล SQL otrimati บันทึกทั้งหมดยิ่งกว่านั้น schob ที่ผิวหนัง bula іnformatsіyaเกี่ยวกับ coristuvacha ที่ yogo หนึ่งผลิตภัณฑ์ ในรายการถัดไปมีข้อมูลเกี่ยวกับ coristuvach เดียวกันและผลิตภัณฑ์ถัดไป หากสหายของ kogo koristuvach จบลงให้ไปที่ koristuvach ที่น่ารังเกียจ ในลักษณะนี้เราจะตำหนิทั้งสองตารางและรับผลซึ่งในนั้น การบันทึกผิวหนัง.

แบบสอบถามที่คล้ายกันแทนที่ 2 แบบสอบถาม SQL: บนตัวเลือกโต๊ะพร้อมสินค้าและโต๊ะพร้อมกล่อง จนกว่าจะถึงตอนนั้น คำขอดังกล่าวจะถูกส่งหนึ่งครั้งไปยังvіdpovіdnіst koristuvacha ว่าสินค้า yogo

ตัวเขาเองขอสิ่งที่ง่ายกว่านี้ (ตามที่คุณเข้าใจอันที่แล้ว):

SELECT * จากผู้ใช้ ผลิตภัณฑ์ โดยที่ users.id = products.owner_id

อัลกอริทึมที่นี่งุ่มง่ามอยู่แล้ว: บันทึกแรกของตารางถูกถ่าย ผู้ใช้. มารับกันเลย รหัสและบันทึกทั้งหมดจากตารางจะถูกวิเคราะห์ สินค้า, เพิ่มไปยังผลลัพธ์ ti, yi เจ้าของ_idโดริฟนยูє รหัสจากตาราง ผู้ใช้. ในลำดับนี้ ในการวนซ้ำครั้งแรก สินค้าทั้งหมดจะถูกนำมาจากโคริสตูแวคครั้งแรก ในการทำซ้ำครั้งอื่น สินค้าทั้งหมดของผู้สื่อข่าวรายอื่นจะถูกเลือก

จามรีบาชิต์ แบบสอบถาม SQL สำหรับการเลือกจากตารางจำนวนหนึ่งไม่ใช่วิธีที่ง่ายที่สุด แต่ความเศร้าโศกของพวกเขานั้นใหญ่โต ดังนั้นคนชั้นสูงจึงสามารถเอาชนะคนชอบดื่มได้

© 2023 androidas.ru - ทุกอย่างเกี่ยวกับ Android