盡量避免在SQL語句的WHERE子句中使用函數

----start    在SQL語句的 WHERE 子句中應該盡量避免在欄位上使用函數,因為這樣做會使該欄位上的索引失效,影響SQL語句的效能。即使該欄位上沒有索引,也應該避免在欄位上使用函數。考慮下面的情況:CREATE TABLE USER(NAME VARCHAR(20) NOT NULL,---姓名REGISTERDATE TIMESTAMP---註冊時間); 現在要求你把2009.9.24註冊的使用者都查出來,怎麼辦?可能有人會這麼寫:SELECT * FROM USER

DB CHNGPGS_THRES 參數

----start     之前看書的時候遇到這樣一個問題,並不是每次commit都會使record寫到磁碟上,而是當被修改的資料頁數目達到了CHNGPGS_THRES 數值時,緩衝池中的這些修改的資料頁記錄就會被“具體化”或者被寫到資料表空間磁碟上。如果這時系統突然停電了,怎麼辦?使用者認為自己已經commit了,可是資料並沒有寫到磁碟上。     

DB2 分頁查詢

----start提起分頁查詢,除了那些還不知道什麼是分頁的人,大多數人的都會想到一個詞,那就是LIMIT,不過很可惜,DB2不支援這個關鍵字,那麼DB2的分頁查詢到底該怎麼寫呢?只要你學會了OLAP函數,分頁查詢是非常簡單的。即使你不會OLAP函數,按照下面的SQL照貓畫虎也可以,如下:SELECT * FROM(SELECT B.*, ROWNUMBER() OVER() AS RN FROM(SELECT * FROM <TABLE_NAME>) AS B)AS A

鎖定擴大失敗將引起死結

----start DB2 SQL error: SQLCODE: -911, SQLSTATE: 40001, SQLERRMC: 2 Message: The current transaction has been rolled back because of a deadlock or timeout.  Reason code "2".   

匹配的起始位置 \G

-- Start\G 通常應用於迭代操作中,它指示上次匹配的結束位置或本次匹配的開始位置。第一次迭代時,\G 匹配字串的開始。如果在迭代的過程中Regex不能匹配成功,\G 會重新指向字串的開始位置。但是如果我們指定了 Perl 的 /c 修飾符,那麼即使Regex匹配失敗了,\G 將不會重新設定。下面是一個簡單的例子。#!/usr/bin/perlmy $testText = "I love regular expression."; # 測試文本while(not $testText =

遇到問題該如何解決

----start     我們在使用db2的過程中,不可避免的會遇到這樣或那樣的問題,這時該怎麼辦呢?大部分人一般都不會思考,直接把問題貼在google中搜尋,如果找不到答案就問身邊的人或上網發帖求助。其實,一個好的軟體,它自身應該提供一個很強大的協助系統,db2也不例外。在db2中,當我們與到問題時,我們可以再命令列處理器(CLP)中輸入 ? sqlcode

再論點號

-- Start我們已經知道了在正常情況下,點號(.)能夠匹配除分行符號以外的任何字元。事實上這句話並不準確,確切的說,點號(.)能夠匹配除分行符號以外的任何單個代碼點。由於處於輔助平面內的字元由兩個代碼點構成,所以,為了匹配這些字元,我們需要兩個點號。幸運的是,這些字元我們很少使用,基本上我們可以不考慮。看到這裡,如果你此時的想法是 what the hell are you talking about? 說明你還不瞭解 Unicode 編碼, 請參考本人的另一篇部落格UTF-16 編碼簡介#

元字元終極總結

-- Start字元(Characters)元字元(Metacharacter)匹配(Matches)\aalert警報(\u0007)\eescape Escape字元(\u001B)\fform-feed進紙符(\u000C)\nnewline分行符號(\u000A)\rcarriage-return斷行符號(\u000D)\ttab水平定位字元(\u0009)\numoctal八進位轉義,支援範圍從\0到\377\xnumhexadecimal十六進位轉義,支援範圍從\x0到\xFF\x{

盡量避免在SQL語句中使用LIKE

----start    前面,我們介紹了 盡量避免在SQL語句的WHERE子句中使用函數,因為這樣做會使該欄位上的索引失效,影響SQL語句的效能。基於同樣的道理,我們也應該避免使用LIKE。考慮下面的情況:CREATE TABLE USER(NAME VARCHAR(20) NOT NULL,---姓名MYNUMBER VARCHAR(18)---社會安全號碼碼); 現在要求你把社會安全號碼碼開頭是2102(大連人)查出來,怎麼辦?我們很自然的會這麼寫:SELECT * FROM USER

對象初始化方式及順序

-- Start對象初始化方式我們可以通過以下三種方式來初始對象.靜態初始化塊初始化塊構造方法對象初始化方式的順序下面的例子示範了對象各種初始化方式的順序.public class Test {    public static void main(String[] args) {    new Student();    }}class Poeple {    static {    System.out.println("父類 --> 靜態初始化塊");    }    {  

分組,捕獲及後向引用

-- Start我們在 括弧及後向引用 一節中瞭解到了括弧的兩種用途:分組和捕獲。分組事實上,正在運算式還一共提供了三種結構用於分組,如下:元字元(Metacharacter) 匹配(Matches)(...) 分組(?:...) 分組(?>…) 固化分組 它們之間有什麼區別呢? 我們先看一個例子吧。#!/usr/bin/perlmy $testText = "#test#"; # 測試文本# 基準if($testText =~ m/#.*#/) {print "#.*# 匹配了

盡量避免在SQL語句中使用OR

----start    在SQL語句中應該盡量避免使用OR,因為這樣做會影響SQL語句的效能。考慮下面的情況:CREATE TABLE USER(NAME VARCHAR(20) NOT NULL,---姓名BIRTHDAY DATE---生日); 現在有這樣一個問題:讓你尋找一下生日是1949-10-1(共和國同齡人)或1978-12-18(十一屆三中全會召開時間)的人,怎麼辦?我們很自然就會把這句話翻譯成如下SQL語句:SELECT * FROM USER WHERE BIRTHDAY='

域和局部變數的初始值

-- Start如果沒有顯示給域賦初值, 那麼它會被自動賦初始值, 數值為0, 布爾值為false, 對象為null. 值得注意的是我們在使用局部變數之前, 必須明確的初始化局部變數, 否則編譯會報錯. private byte b; private short s; private int i; private long l; private float f; private double d; private char c; private

重寫 copy 方法

-- Start重寫 copy 方法有幾點需要注意.重新定義 Oject 類中的 copy方法並將方法從 protected 修改為 public, 將方法的傳回值類型從 Object 修改為具體類型 (在 JDK 1.5 之前, 在覆蓋方法時, 我們不能改變傳回型別, 從 1.5 開始, 我們可以返回子類型).實現 Cloneable 介面. Cloneable 介面中並沒有任何方法, 但是如果不實現 Cloneable 介面, clone 方法會拋出

一個類似行轉列的問題

----start在網上看到這樣一個問題:(問題地址:http://bbs2.chinaunix.net/thread-1454869-1-7.html)有一個表T,內容如下:ID A B1 1 a2 2 b3 1 c4 1 d5 3 e6 3 f要求檢索進行資訊組合,查詢結果如下:RA

如何寫出高效的Regex

-- Start有相當大的一部分程式員他們只考慮如何能儘快把活幹完,從來不考慮如何使自己的代碼更完美,更高效,這樣的程式員永遠也達不到一定的高度。當然,在寫Regex的時候,我們首先要保證準確性,其次才是效率問題。下面是一些提高Regex效率的小竅門。盡量重用已編譯的Regex在 Java

實現 Comparable 和 Comparator 介面

-- StartComparable 和 Comparator 介面中都有 compare 方法, 實現 compare 方法和實現 equals 方法類似, 也需要考慮有無子類兩種情況. 除此之外, 有以下幾點需要注意.1. 一致性: compare 方法和 equals 方法的定義應該一致, 也就是說, 如果 x.equals(y), 那麼 x.compareTo(y) == 0. 注意關鍵字應該, 這並不是一條強制性的規則, 事實上, BigDecimal 中的 compare 方法和

固化分組和佔有量詞

-- Start假設我們有這樣的問題,把類似 3.690000023 的小數保留兩位小數,類似 2.3563895 的小數保留三位小數,也就是說如果小數的第三位是 0, 則保留兩位小數,如果是非 0, 就保留三位小數,該怎麼呢? 這個問題比較簡單,用下面的 Perl 代碼。$number =~ s/(\.\d\d[1-9]?)\d*/$1/;這個運算式完全可以工作,美中不足的一點是,當 $number 類似 3.695 的時候,我們把 .695 替換為了 .695,浪費了工夫。為瞭解決這個問題,

重寫 equals 方法

-- Start重寫 equals 方法是一件很令人頭疼的事情, Java 語言規範要求 equals 方法具有下面的特性:1. 自反性: x.equals(x)應該返回true.2. 對稱性: 如果x.equals(y)返回true, 那麼y.equals(x)也應該返回true.3. 傳遞性: 如果x.equals(y)返回true, y.equals(z)返回true, 那麼x.equals(z)也應該返回true.4. 一致性: 如果對象沒有變化,

貪婪,非貪婪和佔有量詞的區別

-- Start我們在 量詞 一節中介紹了什麼量詞以及貪婪與非貪婪量詞之間的區別。事實上,通常Regex支援以下三種量詞。貪婪量詞非貪婪量詞佔有量詞匹配X?  X??X?+匹配X 0次或1次X*  X*?X*+匹配X 0次或無數次X+  X+?X++匹配X 1次或無數次X{n}  X{n}?X{n}+匹配X n次X{n,}  X{n,}?X{n,}+匹配X 至少n次X{n,m}  X{n,m}?X{n,m}+匹配X 至少n次至多m次那它們之間有什麼區別呢?

總頁數: 61357 1 .... 19006 19007 19008 19009 19010 .... 61357 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.