202004-02 nginx與php-fpm通信的兩種方式 HOT 在linux中,nginx服務器和php-fpm可以通過tcp socket和unix socket兩種方式實現。 unix socket是一種終端,可以使同一臺操作系統上的兩個或多個進程進行數據通信。這種方式需要再nginx配置文件中填寫php-fpm的pid文件位置,效率要比tcp socket高。 tcp socket的優點是可以跨服務器,當nginx和php-fpm不在同一臺機器上時,只能使用這種方式。 windows系統只能使用tcp socket的通信方式 繼續閱讀 >
201906-19 大牛是怎么思考設計SQL優化方案的? 在進行MySQL的優化之前,必須要了解的就是MySQL的查詢過程,很多查詢優化工作實際上就是遵循一些原則,讓MySQL的優化器能夠按照預想的合理方式運行而已。 繼續閱讀 >
201504-10 實戰:上億數據如何秒查 最近在忙著優化集團公司的一個報表。優化完成后,報表查詢速度有從半小時以上(甚至查不出)到秒查的質變。從修改SQL查詢語句邏輯到決定創建存儲過程實現,花了我3天多的時間,在此總結一下,希望對朋友們有幫助。數據背景首先項目是西門子中國在我司實施部署的MES項目,由于項目是在產線上運作(3years+),數據累積很大。在項目的數據庫中,大概上億條數據的表有5個以上,千萬級數據的表10個以上,百萬級數據的表,... 繼續閱讀 >
201504-10 SQL中樹形分層數據的查詢優化 在數據查詢中,從2008開始SQLServer提供了一個新的數據類型hierarchyid,專門用來操作層次型數據結構。hierarchyid 類型對層次結構樹中有關單個節點的信息進行邏輯編碼的方法是:對從樹的根目錄到該節點的路徑進行編碼。 這種路徑在邏輯上表示為一個在根之后被訪問的所有子級的節點標簽序列。表示形式以一條斜杠開頭,只訪問根的路徑由單條斜杠表示。對于根以下的各級,各標簽編碼為由點分隔的整數序列。子級之... 繼續閱讀 >
201504-10 在SSRS 里實現 SUMIF 最近在做報表時,要實現Excel中的SUMIF的功能,示例:SUMIF($B$2:$B$465,"East",$G$2:$G$465),即匯總B列值等于East的G列值。 在SSRS中,我們想到的一定是IIF語句,因此第一次寫的結果一定是:示例:sum(IIF(Fields!Team.Value="East",Fields!LeaseArea.Value,0))運行結果是#ERROR 通過相關資料查找最終結果是:示例:sum(IIF(Fields!Team.Value="East",cdbl(Fields!LeaseArea.Value),0.00))原因:采用cdbl將字段轉換為... 繼續閱讀 >
201503-23 關于SQL Server數據表的五中約束 1、主鍵約束(PRIMARYKEY)主鍵約束可以在表中定義一個主鍵值,它可以唯一確定表中每一條記錄,每個表中只能有一個主鍵約束(只能有一個主鍵約束的意思并不是說受主鍵約束的列只能有一個),并且受主鍵約束的列不能為空值。如果主鍵約束定義在不止一列上,則某一列中的值可以存在重復,但是受主鍵約束的所有列的組合值必須唯一。2、唯一性約束(UNIQE)唯一性約束確保在非主鍵列中不輸入重復的值。用于指定一個或多個列的組合... 繼續閱讀 >
201503-23 在SQL Server中將數據導出為XML和Json 有時候需要一次性將SQLServer中的數據導出給其他部門的也許進行關聯或分析,這種需求對于SSIS來說當然是非常簡單,但很多時候僅僅需要一次性導出這些數據而建立一個SSIS包就顯得小題大做,而SQLServer的導入導出工具其中BUG還是蠻多的,最簡單的辦法是BCP。 數據導出為XML 在SQLServer2005之后提供了一個forxml子句在關系數據庫中原生支持XML。通過該命令可以將二維關系結果集轉換為... 繼續閱讀 >
201503-23 sql CHARINDEX函數 CHARINDEX函數返回字符或者字符串在另一個字符串中的起始位置。CHARINDEX函數調用方法如下: CHARINDEX(expression1,expression2[,start_location]) Expression1是要到expression2中尋找的字符中,start_location是CHARINDEX函數開始在expression2中找expression1的位置。 ... 繼續閱讀 >
201503-16 SQLServer 2012 可視化窗口中,設置“時間”默認值為“當前時間" 最近,需要在SQLServer2012中,設置datetime的默認值為當前時間。通過可視化窗口進行設置,而不是將getdate()函數寫在sql語句中,也不是將‘2022-2-222:22:22’寫在sql語句中。起初網上已經有文章寫到,不過更多的是寫在sql語句中,當時設置默認值的格式有些問題,一直失敗。正確插圖: (getdate())其實它是一個可視化而已,在sql語句中拼寫getdate()能ok,在可視化窗口也ok的。就是這么簡單,但當時腦殘了,非得加... 繼續閱讀 >
201501-31 程序員容易忽略的SQL Server錯誤集錦 概述因為每天需要審核程序員發布的SQL語句,所以收集了一些程序員的一些常見問題,還有一些平時收集的其它一些問題,這也是很多人容易忽視的問題,在以后收集到的問題會補充在文章末尾,歡迎關注,由于收集的問題很多是針對于生產數據,測試且數據量比較大,這里就不把數據共享出來了,大家理解意思就行。步驟大小寫大寫T-SQL語言的所有關鍵字都使用大寫,規范要求。使用“;”使用“;”作為Transact-SQL語句終止符。雖然... 繼續閱讀 >
201501-16 SQL Server調優系列基礎篇(子查詢運算總結) 前言前面我們的幾篇文章介紹了一系列關于運算符的介紹,以及各個運算符的優化方式和技巧。其中涵蓋:查看執行計劃的方式、幾種數據集常用的連接方式、聯合運算符方式、并行運算符等一系列的我們常見的運算符。有興趣的童鞋可以點擊查看。本篇我們介紹關于子查詢語句的一系列內容,子查詢一般是我們形成復雜查詢的一些基礎性操作,所以關于子查詢的應用方式就非常重要。廢話少說,開始本篇的正題。技術準備數據庫版本為SQLSe... 繼續閱讀 >
201501-16 SQL Server調優系列基礎篇(索引運算總結) 前言上幾篇文章我們介紹了如何查看查詢計劃、常用運算符的介紹、并行運算的方式,有興趣的可以點擊查看。本篇將分析在SQLServer中,如何利用先有索引項進行查詢性能優化,通過了解這些索引項的應用方式可以指導我們如何建立索引、調整我們的查詢語句,達到性能優化的目的。閑言少敘,進入本篇的正題。技術準備基于SQLServer2008R2版本,利用微軟的一個更簡潔的案例庫(Northwind)進行解析。簡介所謂的索引應用就是在我... 繼續閱讀 >
201501-16 SQL Server調優系列進階篇(查詢語句運行幾個指標值監測) 前言上一篇我們分析了查詢優化器的工作方式,其中包括:查詢優化器的詳細運行步驟、篩選條件分析、索引項優化等信息。本篇我們分析在我們運行的過程中幾個關鍵指標值的檢測。通過這些指標值來分析語句的運行問題,并且分析其優化方式。通過本篇我們可以學習到調優中經常利用的幾個利器!廢話少說,開始本篇的正題。技術準備數據庫版本為SQLServer2008R2,利用微軟的一個更簡潔的案例庫(Northwind)進行分析。利器一、IO... 繼續閱讀 >
201501-16 SQL Server調優系列進階篇(查詢優化器的運行方式) 前言:前面我們的幾篇文章介紹了一系列關于運算符的基礎介紹,以及各個運算符的優化方式和技巧。其中涵蓋:查看執行計劃的方式、幾種數據集常用的連接方式、聯合運算符方式、并行運算符等一系列的我們常見的運算符。有興趣的童鞋可以點擊查看。本篇介紹在SQLServer中查詢優化器的工作方式,也就是一個好的執行計劃的形成,是如何評估出來的,作為該系列的進階篇。廢話少說,開始本篇的正題。技術準備數據庫版本為SQLServe... 繼續閱讀 >
201501-16 SQL Server調優系列基礎篇(并行運算總結篇二) 前言上一篇文章我們介紹了查看查詢計劃的并行運行方式。本篇我們接著分析SQLServer的并行運算。閑言少敘,直接進入本篇的正題。技術準備同前幾篇一樣,基于SQLServer2008R2版本,利用微軟的一個更簡潔的案例庫(Northwind)進行解析。內容文章開始前,我們先來回顧上一篇中介紹的并行運算,來看文章最后介紹的并行運算語句:SELECTB1.[KEY],B1.DATA,B2.DATAFROMBigTableB1JOINBigTable2B2ONB1.[KEY]=B2.[KEY]... 繼續閱讀 >
201501-16 SQL Server調優系列基礎篇(并行運算總結) 前言上三篇文章我們介紹了查看查詢計劃的方式,以及一些常用的連接運算符、聯合運算符的優化技巧。本篇我們分析SQLServer的并行運算,作為多核計算機盛行的今天,SQLServer也會適時調整自己的查詢計劃,來適應硬件資源的擴展,充分利用硬件資源,最大限度的提高性能。閑言少敘,直接進入本篇的正題。技術準備同前幾篇一樣,基于SQLServer2008R2版本,利用微軟的一個更簡潔的案例庫(Northwind)進行解析。一、并行運算符... 繼續閱讀 >
201501-16 SQL Server調優系列基礎篇(聯合運算符總結) 前言上兩篇文章我們介紹了查看查詢計劃的方式,以及一些常用的連接運算符的優化技巧,本篇我們總結聯合運算符的使用方式和優化技巧。廢話少說,直接進入本篇的主題。技術準備基于SQLServer2008R2版本,利用微軟的一個更簡潔的案例庫(Northwind)進行解析。一、聯合運算符所謂的聯合運算符,其實應用最多的就兩種:UNIONALL和UNION。這兩個運算符用法很簡單,前者是將兩個數據集結果合并,后者則是合并后進行去重操作,... 繼續閱讀 >
201501-16 SQL Server調優系列基礎篇(常用運算符總結) 前言上一篇我們介紹了如何查看查詢計劃,本篇將介紹在我們查看的查詢計劃時的分析技巧,以及幾種我們常用的運算符優化技巧,同樣側重基礎知識的掌握。通過本篇可以了解我們平常所寫的T-SQL語句,在SQLServer數據庫系統中是如何分解執行的,數據結果如何通過各個運算符組織形成的。技術準備基于SQLServer2008R2版本,利用微軟的一個更簡潔的案例庫(Northwind)進行解析。一、數據連接數據連接是我們在寫T-SQL語句的時候最... 繼續閱讀 >
201501-16 SQL Server調優系列基礎篇 HOT 前言關于SQLServer調優系列是一個龐大的內容體系,非一言兩語能夠分析清楚,本篇先就在SQL調優中所最常用的查詢計劃進行解析,力圖做好基礎的掌握,夯實基本功!而后再談談整體的語句調優。通過本篇了解如何閱讀和理解查詢計劃、并且列舉一系列最常用的查詢執行運算符。技術準備基于SQLServer2008R2版本,利用微軟的一個更簡潔的案例庫(Northwind)進行解析。一、區別不同的運算符在所有T-SQL語句在執行的時候,都會... 繼續閱讀 >
201501-16 SQL Server調優系列進階篇(深入剖析統計信息) 前言經過前幾篇的分析,其實大體已經初窺到SQLServer統計信息的重要性了,所以本篇就要祭出這個神器了。該篇內容會很長,坐好板凳,瓜子零食之類…不廢話,進正題技術準備數據庫版本為SQLServer2008R2,利用微軟的以前的案例庫(Northwind)進行分析,部分內容也會應用微軟的另一個案例庫AdventureWorks相信了解SQLServer的朋友,對這兩個庫都不會太陌生。概念理解關于SQLServer中的統計信息,在聯機叢書中是這樣解釋... 繼續閱讀 >
201501-16 SQL Server調優系列進階篇(如何索引調優) 前言上一篇我們分析了數據庫中的統計信息的作用,我們已經了解了數據庫如何通過統計信息來掌控數據庫中各個表的內容分布。不清楚的童鞋可以點擊參考。作為調優系列的文章,數據庫的索引肯定是不能少的了,所以本篇我們就開始分析這塊內容,關于索引的基礎知識就不打算深入分析了,網上一搜一片片的,本篇更側重的是一些實戰項內容展示,希望通過本篇文章各位看官能在真正的場景中找到合適的解決方法足以。對于索引的使用,我希... 繼續閱讀 >
201501-16 SQL Server調優系列進階篇(如何維護數據庫索引) 推薦 前言上一篇我們研究了如何利用索引在數據庫里面調優,簡要的介紹了索引的原理,更重要的分析了如何選擇索引以及索引的利弊項,有興趣的可以點擊查看。本篇延續上一篇的內容,繼續分析索引這塊,側重索引項的日常維護以及一些注意事項等。閑言少敘,進入本篇的主題。技術準備數據庫版本為SQLServer2012,前幾篇文章用的是SQLServer2008RT,內容區別不大,利用微軟的以前的案例庫(Northwind)進行分析,部分內容也會應用微... 繼續閱讀 >
201501-12 SQL Server新一輪更新 上個月微軟的SQLServer團隊發布了大量小型更新。值得關注的內容包括:針對本地服務器的PowerBI、針對SQLServer2014的SystemCenter支持,以及對Java/PHP驅動程序的更新。但首先要關注的是,針對DB2用戶的微軟遷移工具。針對DB2的SQLServer遷移助手微軟針對DB2的SQLServer遷移助手(SQLServerMigrationAssistantforDB2)最近發布了6.0版本。這個工具聲稱要“自動化遷移工作的各個方面,包括遷移評估分... 繼續閱讀 >