<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    JAVA—咖啡館

    ——歡迎訪問rogerfan的博客,常來《JAVA——咖啡館》坐坐,喝杯濃香的咖啡,彼此探討一下JAVA技術(shù),交流工作經(jīng)驗,分享JAVA帶來的快樂!本網(wǎng)站部分轉(zhuǎn)載文章,如果有版權(quán)問題請與我聯(lián)系。

    BlogJava 首頁 新隨筆 聯(lián)系 聚合 管理
      447 Posts :: 145 Stories :: 368 Comments :: 0 Trackbacks

    【數(shù)據(jù)庫】

    收集數(shù)據(jù)庫相關(guān)技術(shù)文章
         摘要: 分析函數(shù)2(Rank, Dense_rank, row_number)



    目錄
    ===============================================
    1.使用rownum為記錄排名
    2.使用分析函數(shù)來為記錄排名
    3.使用分析函數(shù)為記錄進行分組排名

    一、使用rownum為記錄排名:

    在前面一篇《Oracle開發(fā)專題之:分析函數(shù)》,我們認識了分析函數(shù)的基本應(yīng)用,現(xiàn)在我們再來考慮下面幾個問題:

    ①對所有客戶按訂單總額進行排名
    ②按區(qū)域和客戶訂單總額進行排名
    ③找出訂單總額排名前13位的客戶
    ④找出訂單總額最高、最低的客戶
    ⑤找出訂單總額排名前25%的客戶  閱讀全文
    posted @ 2016-02-26 13:01 rogerfan 閱讀(320) | 評論 (0)  編輯

    posted @ 2015-09-26 16:49 rogerfan 閱讀(360) | 評論 (0)  編輯

         摘要: 本文是關(guān)于MySQL數(shù)據(jù)庫性能優(yōu)化方面的問題,希望對初中級MySQL DBA以及其他對MySQL性能優(yōu)化感興趣的朋友們有所幫助。
    在平時被問及最多的問題就是關(guān)于MySQL數(shù)據(jù)庫性能優(yōu)化方面的問題,所以最近打算寫一個MySQL數(shù)據(jù)庫性能優(yōu)化方面的系列文章,希望對初中級MySQL DBA以及其他對MySQL性能優(yōu)化感興趣的朋友們有所幫助。

    數(shù)據(jù)庫屬于IO密集型的應(yīng)用程序,其主職責(zé)就是數(shù)據(jù)的管理及存儲工作。而我們知道,從內(nèi)存中讀取一個數(shù)據(jù)庫的時間是微秒級別,而從一塊普通硬盤上讀取一個IO是在毫秒級別,二者相差3個數(shù)量級。所以,要優(yōu)化數(shù)據(jù)庫,首先第一步需要優(yōu)化的就是IO,盡可能將磁盤IO轉(zhuǎn)化為內(nèi)存IO。本文先從MySQL數(shù)據(jù)庫IO相關(guān)參數(shù)(緩存參數(shù))的角度來看看可以通過哪些參數(shù)進行IO優(yōu)化:

    ?query_cache_size/query_cache_type (global)

    Query cache作用于整個MySQL Instance,主要用來緩存MySQL中的ResultSet,也就是一條SQL語句執(zhí)行的結(jié)果集,所以僅僅只能針  閱讀全文
    posted @ 2015-09-10 19:22 rogerfan 閱讀(406) | 評論 (0)  編輯

         摘要: mysql cache功能分析:

    1 mysql的cache功能的key的生成原理是:把select語句按照一定的hash規(guī)則生成唯一的key,select的結(jié)果生成value,即 key=>value。所以對于cache而言,select語句是區(qū)分大小寫的,也區(qū)分空格的。兩個select語句必須完完全 全一致,才能夠獲取到同一個cache。

    2 生成cache之后,只要該select中涉及到的table有任何的數(shù)據(jù)變動(insert,update,delete操作等),相 關(guān)的所有cache都會被刪除。因此只有數(shù)據(jù)很少變動的table,引入mysql 的cache才較有意義。關(guān)于這方面的測試,可以參考:《Query Cache,看上去很美》一文。

    所以,mysql的cache功能只適用于下列場合:數(shù)據(jù)變動較少,select較多的table。

    那么。在復(fù)雜的系統(tǒng)中,如何使用mysql的cache功能呢,基本方法如下:

    配置query_cache_type,同時改寫程序。

    quer  閱讀全文
    posted @ 2015-09-10 19:20 rogerfan 閱讀(432) | 評論 (0)  編輯

    posted @ 2014-07-16 11:58 rogerfan 閱讀(2990) | 評論 (0)  編輯

         摘要: PowerDesigner對數(shù)據(jù)庫反向建立PDM可以使用sql方式,這個很簡單,直接導(dǎo)入建表sql文件就可以了。
    要說的是使用數(shù)據(jù)庫做源的建模方式,以前弄過一次,很久沒弄忘了,這次要弄在網(wǎng)上搜了一下,結(jié)果不太滿意,于是自己重新整理了一個步驟,貼出來共享一下,也算給自己做個備忘。

    注意事先安裝好Oracle客戶端,并且正確配置好tns。

    1、 新建PDM:
    選擇菜單File->New Model,【Model type】選擇Physical Data Model,【Model name】 自由命名,【DBMS】選擇“ORACLE Version 10gR2”,OK。  閱讀全文
    posted @ 2014-02-10 09:29 rogerfan 閱讀(2332) | 評論 (0)  編輯

    posted @ 2013-03-31 05:17 rogerfan 閱讀(1304) | 評論 (0)  編輯

         摘要: 最近做一個項目,客戶希望可以自己選擇想要查看的列表,這樣就不好辦了,選擇列表的名字他們也想自定義,沒辦法這就需要查看數(shù)據(jù)表中字段,中文說明,默認標(biāo)志了。在網(wǎng)上查了部分資料但是發(fā)現(xiàn)粘上去的代碼都存在問題,無奈只好自己修改了一下,代碼如下:

    如下代碼能正常運行,都是網(wǎng)上查找資料最后拼湊總結(jié)出來的。條件就自己加吧。網(wǎng)上好像也有不少類型的東西,這里留著以備不時只需!  閱讀全文
    posted @ 2013-03-31 04:59 rogerfan 閱讀(848) | 評論 (0)  編輯

         摘要: 如果做表單自定義或做數(shù)據(jù)庫管理軟件,就必須能自動取得某個用戶下數(shù)據(jù)庫的一些信息。比較有用的有:
    表名,字段英文名,字段中文名,字段的類型,字段的長度等。其中,字段的中文名按照數(shù)據(jù)庫的記錄是無法取到的,但是我們可以變通一下,
    通過comments去記錄字段中文名。
    //取得該用戶下所有的表
    select * from user_tables;
    //取得表名為Sysuser的注釋信息
    select * from user_tab_comments where table_name = 'SYSUSER';
    //取得該用戶下表名為Sysuser表的結(jié)構(gòu)
    select * from user_tab_columns where table_name='SYSUSER';
    //取得該用戶下表名為sysuser表中字段的注釋信息
    select * from user_col_comments where table_name = 'SYSUSER';  閱讀全文
    posted @ 2013-03-31 04:46 rogerfan 閱讀(2468) | 評論 (0)  編輯

         摘要: 目標(biāo):
    本文主要介紹PowerDesigner中概念數(shù)據(jù)模型 CDM的基本概念。

    一、概念數(shù)據(jù)模型概述
    數(shù)據(jù)模型是現(xiàn)實世界中數(shù)據(jù)特征的抽象。數(shù)據(jù)模型應(yīng)該滿足三個方面的要求:
    1)能夠比較真實地模擬現(xiàn)實世界
    2)容易為人所理解
    3)便于計算機實現(xiàn)

    概念數(shù)據(jù)模型也稱信息模型,它以實體-聯(lián)系(Entity-RelationShip,簡稱E-R)理論為基礎(chǔ),并對這一理論進行了擴充。它從用戶的觀點出發(fā)對信息進行建模,主要用于數(shù)據(jù)庫的概念級設(shè)計。

    通常人們先將現(xiàn)實世界抽象為概念世界,然后再將概念世界轉(zhuǎn)為機器世界。換句話說,就是先將現(xiàn)實世界中的客觀對象抽象為實體(Entity)和聯(lián)系(Relationship),它并不依賴于具體的計算機系統(tǒng)或某個DBMS系統(tǒng),這種模型就是我們所說的CDM;然后再將CDM轉(zhuǎn)換為計算機上某個DBMS所支持的數(shù)據(jù)模型,這樣的模型就是物理數(shù)據(jù)模型,即PDM。  閱讀全文
    posted @ 2013-02-28 21:53 rogerfan 閱讀(596) | 評論 (0)  編輯

         摘要: 1. SELECT子句中避免使用 “*”
    當(dāng)你想在SELECT子句中列出所有的COLUMN時,使用動態(tài)SQL列引用 ‘*’ 是一個方便的方法.不幸的是,這是一個非常低效的方法. 實際上,ORACLE在解析的過程中, 會將“*” 依次轉(zhuǎn)換成所有的列名, 這個工作是通過查詢數(shù)據(jù)字典完成的, 這意味著將耗費更多的時間.

    2.使用DECODE函數(shù)來減少處理時間
    使用DECODE函數(shù)可以避免重復(fù)掃描相同記錄或重復(fù)連接相同的表. 例如:
    Sql代碼 1.SELECT COUNT(*),SUM(SAL) FROM EMP WHERE DEPT_NO = 0020 AND ENAME LIKE ‘SMITH%’;
    2.SELECT COUNT(*),SUM(SAL) FROM EMP WHERE DEPT_NO = 0030 AND ENAME LIKE ‘SMITH%’;
    SELECT COUNT(*),SUM(SAL) FROM EMP WHERE DEPT_NO = 0020 AND ENAME LIKE ‘SMITH%’;   閱讀全文
    posted @ 2010-11-19 14:06 rogerfan 閱讀(558) | 評論 (0)  編輯

         摘要: Oracle、DB2、SQLSERVER、Mysql、Access分頁SQL語句梳理
    最近把平時在項目中常用到的數(shù)據(jù)庫分頁sql總結(jié)了下。大家可以貼出分頁更高效的sql語句。
    sqlserver分頁
    第一種分頁方法
    需用到的參數(shù):
    pageSize 每頁顯示多少條數(shù)據(jù)
    pageNumber 頁數(shù) 從客戶端傳來
    totalRecouds 表中的總記錄數(shù) select count (*) from 表名
    totalPages 總頁數(shù)
    totalPages=totalRecouds%pageSize==0?totalRecouds/pageSize:totalRecouds/pageSize+1
    pages 計算前pages 條數(shù)據(jù)
    pages= pageSize*(pageNumber-1)   閱讀全文
    posted @ 2010-09-28 09:37 rogerfan 閱讀(875) | 評論 (0)  編輯

    posted @ 2010-08-16 14:45 rogerfan 閱讀(254) | 評論 (0)  編輯

    posted @ 2010-08-11 16:11 rogerfan 閱讀(535) | 評論 (0)  編輯

    posted @ 2010-07-13 10:23 rogerfan 閱讀(434) | 評論 (0)  編輯

         摘要: 對比版本
    Release 10.2.0.1.0 XE windowsXP
    5.0.45-community-nt-log MySQL Community Edition (GPL)

    當(dāng)作計算器
    SQL> select 1+1 from dual;
    mysql> select 1+1;

    mysql> select 1+1 from dual;

    顯示表結(jié)構(gòu)
    SQL> desc 表名
    mysql> desc 表名;

    SQL> describe 表名
    mysql> describe 表名;

    mysql> explain 表名;

    注意:explain 也可以用來獲取執(zhí)行計劃。

    需要訪問:

    User_tables、user_tab_cols、USER_COL_COMMENTS、USER_INDEXES等等字典表。
    mysql> show columns fro  閱讀全文
    posted @ 2010-07-08 15:40 rogerfan 閱讀(1520) | 評論 (0)  編輯

         摘要: 方法1:
    適用于 SQL Server 2000/2005
    SELECT TOP 頁大小 *
    FROM table1
    WHERE id NOT IN
    (
    SELECT TOP 頁大小*(頁數(shù)-1) id FROM table1 ORDER BY id
    )
    ORDER BY id
      閱讀全文
    posted @ 2010-04-30 10:26 rogerfan 閱讀(1179) | 評論 (0)  編輯

         摘要: SQL Server 2000企業(yè)版本適用于WIN 2000操作系統(tǒng),Windows 2003操作系統(tǒng)和Windows XP一般裝不了,只能安裝個人版,這讓我們用XP操作系統(tǒng)的程序員很頭疼,為了使用SQL Server 2000還得裝個Windows 2000操作系統(tǒng),下面介紹一下在Windows XP下安裝SQL Server 2000企業(yè)版的方法。

    一、在SQL服務(wù)器的安裝盤中找到MSDE這個目錄,并且點擊SETUP.EXE安裝它,過程簡單,直接下一步就OK 了。

    二、重啟系統(tǒng)Windows XP,在任務(wù)欄右下角就可以看到SQL服務(wù)的圖標(biāo)出現(xiàn)了。

    三、再拿出SQL服務(wù)器版的安裝光盤,直接安裝客戶端工具,安裝方法:點擊光盤根目錄下的AUTORUN.EXE,選擇“安裝SQL Server 2000組件“,選擇”安裝數(shù)據(jù)庫服務(wù)器“, 根據(jù)提示安裝,自檢過程中會提示操作系統(tǒng)不是SERVER版,只安裝客戶端工具。  閱讀全文
    posted @ 2010-04-28 17:07 rogerfan 閱讀(309) | 評論 (0)  編輯

         摘要: Oracle數(shù)據(jù)庫的三種標(biāo)準(zhǔn)的備份方法:
    1.導(dǎo)出/導(dǎo)入(EXP/IMP)。

    2.熱備份。

    3.冷備份。

    注釋:導(dǎo)出備件是一種邏輯備份,冷備份和熱備份是物理備份。

    一、 導(dǎo)出/導(dǎo)入(Export/Import)

    利用Export可將數(shù)據(jù)從數(shù)據(jù)庫中提取出來,利用Import則可將提取出來的數(shù)據(jù)送回到Oracle數(shù)據(jù)庫中去。

    1、簡單導(dǎo)出數(shù)據(jù)(Export)和導(dǎo)入數(shù)據(jù)(Import)

    Oracle支持三種方式類型的輸出:   閱讀全文
    posted @ 2010-04-27 09:25 rogerfan 閱讀(308) | 評論 (0)  編輯

         摘要: 當(dāng)你需要同時包含日期和時間信息的值時則使用DATETIME類型。MySQL以'YYYY-MM-DD HH:MM:SS'格式檢索和顯示DATETIME值。支持的范圍為'1000-01-01 00:00:00'到'9999-12-31 23:59:59'。(“支持”表示盡管先前的值可能工作,但沒有保證)。

    當(dāng)你只需要日期值而不需要時間部分時應(yīng)使用DATE類型。MySQL用'YYYY-MM-DD'格式檢索和顯示DATE值。支持的范圍是'1000-01-01'到 '9999-12-31'。

    TIMESTAMP列類型的屬性不固定,取決于MySQL版本和服務(wù)器運行的SQL模式。這些屬性將在本節(jié)后面描述。
      閱讀全文
    posted @ 2010-04-24 07:57 rogerfan 閱讀(15917) | 評論 (0)  編輯

         摘要: 本章介紹Oracle 9i網(wǎng)絡(luò)中兩種主要的成分——數(shù)據(jù)庫服務(wù)器和治理客戶機的安裝和配置過程。本章目的在于幫助讀者把握如何安裝Oracle 9i以及如何配置Oracle 9i網(wǎng)絡(luò)環(huán)境。
    本書采用windows 2000 Server作為安裝的網(wǎng)絡(luò)操作系統(tǒng)平臺,數(shù)據(jù)庫服務(wù)器采用Oracle 9i Database for Windows 2000的企業(yè)版。
    2.1.1 安裝的硬件環(huán)境需求
    下列從5個主要的方面闡述Oracle 9i對硬件環(huán)境的要求。
    1. 對CPU的要求
    CPU最低配置到Pentium 166就可以。
    2. 對內(nèi)存的要求
    內(nèi)存容量最低為64MB,最好在256MB以上。
    3. 對硬盤的要求
    建議配置8GB容量以上硬盤。
    4. 對光驅(qū)的要求
    建議選用快速光驅(qū),16倍速以上。
    5. 對網(wǎng)卡的要求
    一般可以選用10/100MB自適應(yīng)網(wǎng)卡。  閱讀全文
    posted @ 2010-03-24 15:55 rogerfan 閱讀(277) | 評論 (0)  編輯

         摘要: 匯總:
    set autotrace on
    set autotrace traceonly explain
    set timing on

    或通過SQL*PLUS trace,然后查看user_dump_dest下的跟蹤文件,使用tkprof工具格式化后閱覽。
    alter session set events '10046 trace name context forever,level 12';
    alter session set events '10046 trace name context off';
    SELECT p.spid,s.username FROM v$session s,v$process p WHERE s.audsid=USERENV('sessionid') AND s.paddr = p.addr;

    使用方法示例:
    DBserver% sqlplus perf/perf
    SQL*Plus: Release 9.2.0.6.0 - Production on Mon  閱讀全文
    posted @ 2010-03-24 14:51 rogerfan 閱讀(608) | 評論 (0)  編輯

         摘要: 一、下載

    1、PowerDesigner 12.5官方下載地址 +|'}kOAa
     http://download.sybase.com/eval/PowerDesigner/powerdesigner125_eval.exe
     大小125 MB (132,006,349 字節(jié)) uzR(8lA
      閱讀全文
    posted @ 2010-03-17 16:09 rogerfan 閱讀(55502) | 評論 (36)  編輯

         摘要: 為了減輕DBA的工作,數(shù)據(jù)庫自動備份當(dāng)然少不了,今天我和大家一起來學(xué)習(xí)通過crontab實現(xiàn)mysql數(shù)據(jù)的自動備份

    我們在/etc/cron.daily/目錄下創(chuàng)建文件backup內(nèi)容如下

    #!/bin/bash
    #定義變量name的值,/bin/date日期格式為Y年-m月-d日
    name=`/bin/date "+%Y-%m-%d"`
    #/usr/bin/mysqldump 備份數(shù)據(jù)庫的命令路徑
    #-u root 數(shù)據(jù)庫的用戶名
    #-p password 數(shù)據(jù)庫的密碼把password替換成你自己的密碼  閱讀全文
    posted @ 2009-08-19 11:54 rogerfan 閱讀(625) | 評論 (0)  編輯

         摘要: 首先,設(shè)置mysql的環(huán)境變量(在path中添加%MYSQL_HOME%\bin),重啟電腦。
    完整代碼:
    /**
    * @param args
    */
    public static void main(String[] args) {
    /*
    * 備份和導(dǎo)入是一個互逆的過程。
    * 備份:程序調(diào)用mysql的備份命令,讀出控制臺輸入流信息,寫入.sql文件;
    * 導(dǎo)入:程序調(diào)用mysql的導(dǎo)入命令,把從.sql文件中讀出的信息寫入控制臺的輸出流
    * 注意:此時定向符">"和"<"是不能用的
    */
    backup();
    load();
    }
      閱讀全文
    posted @ 2009-08-18 17:38 rogerfan 閱讀(566) | 評論 (0)  編輯

         摘要: 一、了解備份的重要性

      可以說,從計算機系統(tǒng)出世的那天起,就有了備份這個概念,計算機以其強大的速度處理能力,取代了很多人為的工作,但是,往往很多時候,它又是那么弱不禁風(fēng),主板上的芯片、主板電路、內(nèi)存、電源等任何一項不能正常工作,都會導(dǎo)致計算機系統(tǒng)不能正常工作。當(dāng)然,這些損壞可以修復(fù),不會導(dǎo)致應(yīng)用和數(shù)據(jù)的損壞。但是,如果計算機的硬盤損壞,將會導(dǎo)致數(shù)據(jù)丟失,此時必須用備份恢復(fù)數(shù)據(jù)。

      其實,在我們的現(xiàn)實世界中,已經(jīng)就存在很多備份策略,如RAID技術(shù),雙機熱備,集群技術(shù)發(fā)展的不就是計算機系統(tǒng)的備份和高可用性嗎?有很多時候,系統(tǒng)的備份的確就能解決數(shù)據(jù)庫備份的問題,如磁盤介質(zhì)的損壞,往往從鏡相上面做簡單的恢復(fù),或簡單的切換機器就可以了。但是,上面所說的系統(tǒng)備份策略是從硬件的角度來考慮備份與恢復(fù)的問題,這是需要代價的。我們所能選擇備份策略的依據(jù)是:丟是數(shù)據(jù)的代價與確保數(shù)據(jù)不丟失的代價之比。還有的時候,硬件的備份有時根本滿足不了現(xiàn)實需要,假如你誤刪了一個表,但是你又想恢復(fù)的時候,數(shù)據(jù)庫的備份就變的重要了。ORACLE本身就提供了強大的備份與恢復(fù)策略,這里我  閱讀全文
    posted @ 2009-06-02 16:07 rogerfan 閱讀(267) | 評論 (0)  編輯

         摘要: ----------------------------------------------------------------
    用戶授權(quán):
    GRANT ALTER ANY INDEX TO "user_id "
    GRANT "dba " TO "user_id ";
    ALTER USER "user_id " DEFAULT ROLE ALL
    創(chuàng)建用戶:
    CREATE USER "user_id " PROFILE "DEFAULT " IDENTIFIED BY " DEFAULT TABLESPACE "USERS " TEMPORARY TABLESPACE "TEMP " ACCOUNT UNLOCK;
    GRANT "CONNECT " TO "user_id ";
    用戶密碼設(shè)定:
    ALTER USER "CMSDB " IDENTIFIED BY "pass_word "
    表空間創(chuàng)建:
    CREATE TABLESPACE "table_space " LOGGING DATAFILE '  閱讀全文
    posted @ 2009-06-02 16:06 rogerfan 閱讀(679) | 評論 (0)  編輯

         摘要: 13-4 Lob類型
    13.4.1 基本介紹
    Oracle和plsql都支持lob(large object) 類型,用來存儲大數(shù)量數(shù)據(jù),如圖像文件,聲音文件等。Oracle 9i realse2支持存儲最大為4g的數(shù)據(jù),oracle 10g realse1支持最大8到128萬億字節(jié)的數(shù)據(jù)存儲,依賴于你的db的block size。
    在plsql中可以申明的lob類型的變量如下:
    類型 描述
    BFILE 二進制文件,存儲在數(shù)據(jù)庫外的操作系統(tǒng)文件,只讀的。把此文件當(dāng)二進制處理。
    BLOB 二進制大對象。存儲在數(shù)據(jù)庫里的大對象,一般是圖像聲音等文件。
    CLOB 字符型大對象。一般存儲大數(shù)量文本信息。存儲單字節(jié),固定寬度的數(shù)據(jù)。
    NCLOB 字節(jié)字符大對象。存儲單字節(jié)大塊,多字節(jié)固定寬度,多字節(jié)變寬度數(shù)據(jù)。  閱讀全文
    posted @ 2009-06-02 16:02 rogerfan 閱讀(1719) | 評論 (0)  編輯

         摘要: 環(huán)境區(qū)域是用來處理SQL語句的一個oracle存儲區(qū)域。游標(biāo)是指向它的指針或句柄。通過游標(biāo),PL/SQL程序可以控制這個環(huán)境區(qū)域中被處理的語句。

    Oracle中的游標(biāo)有兩種:顯式游標(biāo)、隱式游標(biāo)。

    顯示游標(biāo)是用cursor...is命令定義的游標(biāo),它可以對查詢語句(select)返回的多條記錄進行處理,而隱式游標(biāo)是在執(zhí)行插入(insert)、刪除(delete)、修改(update)和返回單條記錄的查詢(select)語句時由PL/SQL自動定義的。
      閱讀全文
    posted @ 2009-06-02 16:01 rogerfan 閱讀(3486) | 評論 (0)  編輯

         摘要: ORACLE 游標(biāo)

    一. PL/SQL 是用游標(biāo)來管理 SQL 的 SELECT 語句的 . 游標(biāo)是為了處理這些語句而分配的一大塊內(nèi)存 . 它提供了對一個結(jié)果集進行逐行處理的能力 , 可看作是一種特殊的指針 . 它與某個查詢結(jié)果集相關(guān)聯(lián) , 可以指向結(jié)果集的任意位置 , 以便對指定位置的數(shù)據(jù)進行處理 . 使用它可以在查詢數(shù)據(jù)的同時對數(shù)據(jù)進行處理 .

    二. 游標(biāo)的分類 : 靜態(tài)游標(biāo)和動態(tài)游標(biāo)

    1. 在說明游標(biāo)分類之前, 先說明一下PL/SQL 的兩個操作, 游標(biāo)屬性, 變量屬性

    SET SERVEROUTPUT ON ;-- 此語句用于開啟打印輸出功能

    DMBS_OUTPUT.PUT_LINE();-- 打印輸出并換行.
      閱讀全文
    posted @ 2009-06-02 16:00 rogerfan 閱讀(1153) | 評論 (0)  編輯

         摘要: 1、Sysdate 當(dāng)前日期和時間


    SQL> Select sysdate from dual;

    SYSDATE
    ----------
    21-6月 -05
      閱讀全文
    posted @ 2008-03-26 10:23 rogerfan 閱讀(756) | 評論 (0)  編輯

         摘要: 常用oracle函數(shù)
    SQL中的單記錄函數(shù)
    1.ASCII
    返回與指定的字符對應(yīng)的十進制數(shù);
    SQL> select ascii('A') A,ascii('a') a,ascii('0') zero,ascii(' ') space from dual;
    A A ZERO SPACE
    --------- --------- --------- ---------
    65 97 48 32  閱讀全文
    posted @ 2008-03-03 11:08 rogerfan 閱讀(376) | 評論 (0)  編輯

         摘要: 在SQLPLUS下,實現(xiàn)中-英字符集轉(zhuǎn)換
    alter session set nls_language='AMERICAN';
    alter session set nls_language='SIMPLIFIED CHINESE';
    主要知識點:
      閱讀全文
    posted @ 2008-02-29 13:31 rogerfan 閱讀(686) | 評論 (0)  編輯

         摘要: Oracle時間日期操作
    sysdate+(5/24/60/60) 在系統(tǒng)時間基礎(chǔ)上延遲5秒
    sysdate+5/24/60 在系統(tǒng)時間基礎(chǔ)上延遲5分鐘
    sysdate+5/24 在系統(tǒng)時間基礎(chǔ)上延遲5小時
    sysdate+5 在系統(tǒng)時間基礎(chǔ)上延遲5天
    add_months(sysdate,-5) 在系統(tǒng)時間基礎(chǔ)上延遲5月
    add_months(sysdate,-5*12) 在系統(tǒng)時間基礎(chǔ)上延遲5年  閱讀全文
    posted @ 2008-02-29 13:12 rogerfan 閱讀(1304) | 評論 (1)  編輯

         摘要: 這段時間開始學(xué)習(xí)寫存儲過程,主要原因還是因為工作需要吧,本來以為很簡單的,但幾經(jīng)挫折,豪氣消磨殆盡,但總算搞通了,為了避免后來者少走彎路,特記述與此,同時亦對自己進行鼓勵。

    一:無返回值的存儲過程

    存儲過程為:

    CREATE OR REPLACE PROCEDURE TESTA(PARA1 IN VARCHAR2,PARA2 IN VARCHAR2) AS

    BEGIN


    END TESTA;
      閱讀全文
    posted @ 2007-09-26 08:30 rogerfan 閱讀(357) | 評論 (0)  編輯

         摘要: 1.日期時間間隔操作

    當(dāng)前時間減去7分鐘的時間
    select sysdate,sysdate - interval '7' MINUTE from dual
    當(dāng)前時間減去7小時的時間
    select sysdate - interval '7' hour from dual
    當(dāng)前時間減去7天的時間
    select sysdate - interval '7' day from dual
    當(dāng)前時間減去7月的時間
    select sysdate,sysdate - interval '7' month from dual
    當(dāng)前時間減去7年的時間
    select sysdate,sysdate - interval '7' year from dual
    時間間隔乘以一個數(shù)字
    select sysdate,sysdate - 8 *interval '2' hour from dual
      閱讀全文
    posted @ 2007-09-17 09:00 rogerfan 閱讀(500) | 評論 (0)  編輯

         摘要: Oracle的SQL函數(shù)分為單行函數(shù)和多行函數(shù)。單行函數(shù)只對單條記錄有效,多行函數(shù)對多條記錄有效。


    單行函數(shù)包括,字符、數(shù)字、日期、轉(zhuǎn)換和普通函數(shù)。


    字符函數(shù)舉例:

    全小寫 LOWER('SQL Course') sql course
    全大寫 UPPER('SQL Course') SQL COURSE
    首字母大寫 INITCAP('SQL Course') Sql Course
    拼接 CONCAT('Good', 'String') GoodString
    取子串 SUBSTR('String',1,3) Str
    求長度 LENGTH('String') 6
      閱讀全文
    posted @ 2007-09-17 09:00 rogerfan 閱讀(373) | 評論 (0)  編輯

         摘要: (1) 選擇最有效率的表名順序(只在基于規(guī)則的優(yōu)化器中有效):
    ORACLE的解析器按照從右到左的順序處理FROM子句中的表名,F(xiàn)ROM子句中寫在最后的表(基礎(chǔ)表 driving table)將被最先處理,在FROM子句中包含多個表的情況下,你必須選擇記錄條數(shù)最少的表作為基礎(chǔ)表。如果有3個以上的表連接查詢, 那就需要選擇交叉表(intersection table)作為基礎(chǔ)表, 交叉表是指那個被其他表所引用的表.
    (2) WHERE子句中的連接順序.:
    ORACLE采用自下而上的順序解析WHERE子句,根據(jù)這個原理,表之間的連接必須寫在其他WHERE條件之前, 那些可以過濾掉最大數(shù)量記錄的條件必須寫在WHERE子句的末尾.
    (3) SELECT子句中避免使用 ‘ * ‘:
    ORACLE在解析的過程中, 會將'*' 依次轉(zhuǎn)換成所有的列名, 這個工作是通過查詢數(shù)據(jù)字典完成的, 這意味著將耗費更多的時間
      閱讀全文
    posted @ 2007-09-17 08:56 rogerfan 閱讀(368) | 評論 (0)  編輯

         摘要: 1. 選用適合的ORACLE優(yōu)化器

    ORACLE的優(yōu)化器共有3種:

    a. RULE (基于規(guī)則)
    b. COST (基于成本)
    c. CHOOSE (選擇性)

    設(shè)置缺省的優(yōu)化器,可以通過對init.ora文件中OPTIMIZER_MODE參數(shù)的各種聲明,如RULE,COST,CHOOSE,ALL_ROWS,F(xiàn)IRST_ROWS . 你當(dāng)然也在SQL句級或是會話(session)級對其進行覆蓋。

    為了使用基于成本的優(yōu)化器(CBO, Cost-Based Optimizer) , 你必須經(jīng)常運行analyze 命令,以增加數(shù)據(jù)庫中的對象統(tǒng)計信息(object statistics)的準(zhǔn)確性。

    如果數(shù)據(jù)庫的優(yōu)化器模式設(shè)置為選擇性(CHOOSE),那么實際的優(yōu)化器模式將和是否運行過analyze命令有關(guān)。 如果table已經(jīng)被analyze過, 優(yōu)化器模式將自動成為CBO , 反之,數(shù)據(jù)庫將采用RULE形式的優(yōu)化器。
    閱讀全文
    posted @ 2007-09-17 08:43 rogerfan 閱讀(1086) | 評論 (1)  編輯

         摘要: 目錄

    1.sql存儲過程概述
    2.SQL存儲過程創(chuàng)建
    3.sql存儲過程及應(yīng)用
    4.各種存儲過程使用指南
    5.ASP中存儲過程調(diào)用的兩種方式及比較
    6.SQL存儲過程在.NET數(shù)據(jù)庫中的應(yīng)用
    7.使用SQL存儲過程要特別注意的問題  閱讀全文
    posted @ 2007-09-10 12:54 rogerfan 閱讀(1583) | 評論 (0)  編輯

         摘要: 1.基本結(jié)構(gòu)
    CREATE OR REPLACE PROCEDURE 存儲過程名字
    (
    參數(shù)1 IN NUMBER,
    參數(shù)2 IN NUMBER
    ) IS
    變量1 INTEGER :=0;
    變量2 DATE;
    BEGIN
    END 存儲過程名字  閱讀全文
    posted @ 2007-09-10 12:47 rogerfan 閱讀(232) | 評論 (0)  編輯

         摘要: 其實基本上有三種方法:

    1、使用SQL Server 2005中新增的ROW_NUMBER

    幾種寫法分別如下:



    1SELECT TOP 20 * FROM (SELECT
    2 ROW_NUMBER() OVER (ORDER BY Namec) AS RowNumber,
    3 *
    4FROM
    5 dbo.mem_member) _myResults
    6WHERE
    7 RowNumber > 10000  閱讀全文
    posted @ 2007-09-10 11:10 rogerfan 閱讀(230) | 評論 (0)  編輯

         摘要: 1. Access method(訪問方法):此步驟包括從文件中存儲和檢索記錄。
    2. Alias(別名):某屬性的另一個名字。在SQL中,可以用別名替換表名。
    3. Alternate keys(備用鍵,ER/關(guān)系模型):在實體/表中沒有被選為主健的候選鍵。
    4. Anomalies(異常)參見更新異常(update anomalies)
    5. Application design(應(yīng)用程序設(shè)計):數(shù)據(jù)庫應(yīng)用程序生命周期的一個階段,包括設(shè)計用戶界面以及使用和處理數(shù)據(jù)庫的應(yīng)用程序。   閱讀全文
    posted @ 2007-09-10 09:30 rogerfan 閱讀(334) | 評論 (1)  編輯

         摘要: 表A記錄如下:
    aID aNum
    1 a20050111
    2 a20050112
    3 a20050113
    4 a20050114
    5 a20050115

    表B記錄如下:
    bID bName
    1 2006032401
    2 2006032402
    3 2006032403
    4 2006032404
    8 2006032408  閱讀全文
    posted @ 2007-09-10 09:18 rogerfan 閱讀(340) | 評論 (0)  編輯

         摘要: 1. SQL優(yōu)化的原則是:將一次操作需要讀取的BLOCK數(shù)減到最低,即在最短的時間達到最大的數(shù)據(jù)吞吐量。
    調(diào)整不良SQL通常可以從以下幾點切入:
    ? 檢查不良的SQL,考慮其寫法是否還有可優(yōu)化內(nèi)容
    ? 檢查子查詢 考慮SQL子查詢是否可以用簡單連接的方式進行重新書寫
    ? 檢查優(yōu)化索引的使用
    ? 考慮數(shù)據(jù)庫的優(yōu)化器   閱讀全文
    posted @ 2007-09-10 09:04 rogerfan 閱讀(427) | 評論 (0)  編輯

    主站蜘蛛池模板: 免费无码午夜福利片| 免费a级毛片永久免费| 久久国产福利免费| 亚洲youwu永久无码精品| 久久精品a亚洲国产v高清不卡| 亚洲午夜av影院| 热99re久久精品精品免费| 美女内射毛片在线看免费人动物| 中文字幕免费在线播放| 国产精品亚洲综合| 亚洲色最新高清av网站| 亚洲同性男gay网站在线观看| 亚洲AV永久无码精品| 久久久久亚洲精品天堂久久久久久 | 国内精品免费久久影院| 婷婷亚洲综合一区二区| 亚洲三级高清免费| 亚洲精品一区二区三区四区乱码| 亚洲人成人无码网www电影首页 | 亚洲精品无播放器在线播放| 亚洲国产精品久久久久秋霞影院 | 五月天婷婷免费视频| 国产成人亚洲午夜电影| 亚洲欧美第一成人网站7777| 精品久久久久久亚洲精品| 1区1区3区4区产品亚洲| 久久久久亚洲AV片无码下载蜜桃| 亚洲国产另类久久久精品小说| 久久久亚洲精品蜜桃臀| 狠狠色婷婷狠狠狠亚洲综合 | a级毛片免费全部播放| www.av在线免费观看| 色多多www视频在线观看免费| 亚洲aⅴ无码专区在线观看春色 | 在线观看免费亚洲| 宅男666在线永久免费观看| 日本免费网站观看| 国产精品国产自线拍免费软件| 国产高清在线免费视频| 国产免费私拍一区二区三区| 国产一区二区三区在线免费 |