Skip to Content
Data Science from Scratch中文版|用Python學資料科學
book

Data Science from Scratch中文版|用Python學資料科學

by Joel Grus
October 2016
Beginner to intermediate
328 pages
6h 58m
Chinese
GoTop Information, Inc.
Content preview from Data Science from Scratch中文版|用Python學資料科學
284
第二十三章:資料庫與 SQL
基於類似的理由,我們的
JOIN
演算法效率也非常差。針對左邊資料表中的每一列資
料,它都要逐一檢查右邊資料表中的每一列資料,看看是否有相符的情況。如果兩個
資料表都超級大,恐怕一輩子都算不完。
再者,你可能經常需要針對某些欄位,設定某些限制條件。舉例來說,在
users
資料
表中,你可能不允許兩個不同使用者使用同一個
user_id
只要運用「索引」(Index),就可以解決所有這些問題。如果
user_interests
資料表把
user_id
當成索引,比較聰明的
JOIN
演算法就可以直接找出條件相符的資料列,而不需
要掃描整個資料表中的每一列資料。如果
users
資料表把
user_id
設定為「unique」(唯
一的)索引,當你想新增一個早已存在的
user_id
時,就會得到錯誤的結果。
資料庫中每個資料表都可以有一個或多個索引,它可以讓你根據索引化的欄位,快速
查找出相應的資料,也可以讓 JOIN 操作變得很有效率,而且還可以把某個欄位(或
某幾個欄位組合),設定為「unique」(唯一的)索引。
設計出完善的索引,並能夠妥善運用,可說是一種藝術(使用不同的資料庫,狀況也
可能不同),但你如果經常需要使用到資料庫,學好這件事絕對值得。
查詢最佳化
還記得嗎?如果想找出對 SQL 感興趣的所有使用者,可以使用以下的 SQL 語句:
SELECT users.name
FROM users
JOIN user_interests
ON users.user_id = user_interests.user_id ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

網頁應用程式設計--使用 Node 和 Express

網頁應用程式設計--使用 Node 和 Express

Ethan Brown

Publisher Resources

ISBN: 9789864761982