最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

總結(jié)MySQL建表、查詢優(yōu)化的一些實用小技巧

 更新時間:2013年07月01日 12:20:45   作者:  
本篇文章是對MySQL建表以及查詢優(yōu)化的一些實用小技巧進行了詳細的分析介紹,需要的朋友參考下

MySQL建表階段是非常重要的一個環(huán)節(jié),表結(jié)構(gòu)的好壞、優(yōu)劣直接影響著后續(xù)的管理維護,趕在明天上班前分享總結(jié)個人MySQL建表、MySQL查詢優(yōu)化積累的一些實用小技巧。

技巧一、數(shù)據(jù)表冗余記錄添加時間與更新時間
我們用到的很多數(shù)據(jù)表大多情況下都會有表記錄的“添加時間(add_time)”,我建議大家再新增一個記錄“更新時間(update_time)”字段,在我的工作里需要為市場部、運營部等建立各種報表,而很多報表里的數(shù)據(jù)都是需要到大記錄表里去查詢的,如果直接查詢大表的話,查詢速度相當(dāng)慢。那么,我們的解決辦法就是建立各種數(shù)據(jù)快照,數(shù)據(jù)快照都是通過腳本定時跑的。假如,哪一天原始數(shù)據(jù)表出現(xiàn)了問題,那么快照數(shù)據(jù)也會有問題,這個時候我們的快照腳本就得重新跑一份修復(fù)好了的數(shù)據(jù),這樣有了update_time更新時間這個字段,我們就能很快定位記錄更新的時間。

技巧二、不要拋棄insert ignore into與replace into
大家肯定寫過一些腳本循環(huán)將記錄插入到數(shù)據(jù)表,例如使用PHP腳本。如果期間的一條SQL插入失敗,那么后續(xù)的插入將終止,你可以在腳本里繞過這個插入錯誤,一個好的辦法是使用ignore關(guān)鍵字來屏蔽插入錯誤。如果,你的數(shù)據(jù)表里已經(jīng)存在有將要插入的相同記錄,那么這個時候就會產(chǎn)生插入報錯,使用 insert ignore into將繞開這個錯誤,繼續(xù)下一條記錄的插入。

如果你的表結(jié)構(gòu)設(shè)計了唯一索引的話,那么使用replace into來更新你的數(shù)據(jù)表記錄再好不過了,尤其是你在寫一個腳本的時候,你就不需要在腳本里先查詢數(shù)據(jù)表是否存在該條記錄,如果存在,則更新;如果不存在則插入。你可以直接使用replace into,它會自動到數(shù)據(jù)表檢測,如果在唯一索引字段存在該值,則會先刪除該條記錄,然后再插入新記錄;如果唯一索引字段不存在該值,則直接插入數(shù)據(jù)表,簡單且非常實用。

技巧三、給你的表建立唯一索引
很多情況下建立表唯一索引,能給我們省下很多麻煩事,想上面說的replace into就必須是有唯一索引,當(dāng)然,很多人喜歡用到的自增主鍵ID盡管也是唯一索引,我建議是能在其他經(jīng)常出現(xiàn)在where條件屁股后面的字段,并且值是唯一的話可以加個索引甚至唯一索引,查詢速度將會提高很多。

說在最后:當(dāng)然,insert ignore into與replace into大家要根據(jù)自己的需求來確定,不一定就適合你現(xiàn)在的需求;我只是提示大家還有這么些個實用的小知識大家可以靈活運用到項目里邊。

相關(guān)文章

  • MySQL學(xué)習(xí)之?dāng)?shù)據(jù)更新操作詳解

    MySQL學(xué)習(xí)之?dāng)?shù)據(jù)更新操作詳解

    這篇文章我們將學(xué)習(xí)一下用于數(shù)據(jù)更改的 “UPDATE” 語句, “UPDATE” 語句也是屬于 DML 這一類數(shù)據(jù)庫操作語言,感興趣的可以了解一下
    2022-08-08
  • SQL實現(xiàn)LeetCode(181.員工掙得比經(jīng)理多)

    SQL實現(xiàn)LeetCode(181.員工掙得比經(jīng)理多)

    這篇文章主要介紹了SQL實現(xiàn)LeetCode(181.員工掙得比經(jīng)理多),本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • MySQL Count函數(shù)使用教程

    MySQL Count函數(shù)使用教程

    這篇文章主要介紹了MySQL Count函數(shù),COUNT()是一個聚合函數(shù),返回指定匹配條件的行數(shù)。開發(fā)中常用來統(tǒng)計表中數(shù)據(jù),全部數(shù)據(jù),不為NULL數(shù)據(jù),或者去重數(shù)據(jù)
    2022-12-12
  • 對比MySQL中int、char以及varchar的性能

    對比MySQL中int、char以及varchar的性能

    在本篇文章中我們給大家分享了關(guān)于MySQL中int、char以及varchar的性能對比的相關(guān)內(nèi)容,有興趣的朋友們學(xué)習(xí)下。
    2018-10-10
  • mysql查詢的時候給字段賦默認值操作

    mysql查詢的時候給字段賦默認值操作

    這篇文章主要介紹了mysql查詢的時候給字段賦默認值操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-10-10
  • MySQL OOM 系列一 Linux內(nèi)存分配

    MySQL OOM 系列一 Linux內(nèi)存分配

    今天想提到的是線上一個4G的RDS實例,發(fā)生了OOM(out of memory)的問題,MySQL進程被直接Kill掉了。在解釋這個問題的時候,我們首先需要從Linux系統(tǒng)內(nèi)存分配策略講起
    2016-07-07
  • MySQL數(shù)據(jù)庫中如何查詢近一年的數(shù)據(jù)

    MySQL數(shù)據(jù)庫中如何查詢近一年的數(shù)據(jù)

    最近碰到一個需求是統(tǒng)計某張表的數(shù)據(jù),統(tǒng)計時間維度為近一年,下面這篇文章主要給大家介紹了關(guān)于MySQL數(shù)據(jù)庫中如何查詢近一年的數(shù)據(jù)的相關(guān)資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2024-07-07
  • 使用Dify訪問mysql數(shù)據(jù)庫詳細代碼示例

    使用Dify訪問mysql數(shù)據(jù)庫詳細代碼示例

    這篇文章主要介紹了使用Dify訪問mysql數(shù)據(jù)庫的相關(guān)資料,并詳細講解了如何在本地搭建數(shù)據(jù)庫訪問服務(wù),使用ngrok暴露到公網(wǎng),并創(chuàng)建知識庫、數(shù)據(jù)庫訪問工作流和智能體,需要的朋友可以參考下
    2025-03-03
  • win10 安裝mysql 8.0.18-winx64的步驟詳解

    win10 安裝mysql 8.0.18-winx64的步驟詳解

    這篇文章主要介紹了win10 安裝mysql 8.0.18-winx64的步驟,本文圖文并茂給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-11-11
  • MySQL聯(lián)合查詢實現(xiàn)方法詳解

    MySQL聯(lián)合查詢實現(xiàn)方法詳解

    聯(lián)合查詢union將多次查詢(多條select語句)的結(jié)果,在字段數(shù)相同的情況下,在記錄的層次上進行拼接,這篇文章主要給大家介紹了關(guān)于Mysql聯(lián)合查詢的那些事兒,需要的朋友可以參考下
    2022-11-11

最新評論

虎林市| 和静县| 神农架林区| 广东省| 蓝田县| 辽宁省| 十堰市| 东乡县| 辽阳县| 博兴县| 安溪县| 随州市| 桃源县| 辽阳县| 武胜县| 南丹县| 稷山县| 报价| 佛坪县| 郸城县| 阜宁县| 福鼎市| 民和| 大庆市| 安远县| 康定县| 台湾省| 连城县| 鹰潭市| 咸阳市| 崇州市| 怀远县| 沛县| 涿州市| 淮北市| 历史| 柘荣县| 曲周县| 怀仁县| 时尚| 贵定县|