JAVA—咖啡館

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

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

          【數據庫】

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



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

          一、使用rownum為記錄排名:

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

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

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

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

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

          ?query_cache_size/query_cache_type (global)

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

               摘要: mysql cache功能分析:

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

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

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

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

          配置query_cache_type,同時改寫程序。

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

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

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

          注意事先安裝好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 閱讀(2330) | 評論 (0)  編輯

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

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

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

               摘要: 如果做表單自定義或做數據庫管理軟件,就必須能自動取得某個用戶下數據庫的一些信息。比較有用的有:
          表名,字段英文名,字段中文名,字段的類型,字段的長度等。其中,字段的中文名按照數據庫的記錄是無法取到的,但是我們可以變通一下,
          通過comments去記錄字段中文名。
          //取得該用戶下所有的表
          select * from user_tables;
          //取得表名為Sysuser的注釋信息
          select * from user_tab_comments where table_name = 'SYSUSER';
          //取得該用戶下表名為Sysuser表的結構
          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 閱讀(2464) | 評論 (0)  編輯

               摘要: 目標:
          本文主要介紹PowerDesigner中概念數據模型 CDM的基本概念。

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

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

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

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

          2.使用DECODE函數來減少處理時間
          使用DECODE函數可以避免重復掃描相同記錄或重復連接相同的表. 例如:
          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語句梳理
          最近把平時在項目中常用到的數據庫分頁sql總結了下。大家可以貼出分頁更高效的sql語句。
          sqlserver分頁
          第一種分頁方法
          需用到的參數:
          pageSize 每頁顯示多少條數據
          pageNumber 頁數 從客戶端傳來
          totalRecouds 表中的總記錄數 select count (*) from 表名
          totalPages 總頁數
          totalPages=totalRecouds%pageSize==0?totalRecouds/pageSize:totalRecouds/pageSize+1
          pages 計算前pages 條數據
          pages= pageSize*(pageNumber-1)   閱讀全文
          posted @ 2010-09-28 09:37 rogerfan 閱讀(875) | 評論 (0)  編輯

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

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

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

          Full 【數據庫】 Archive

          主站蜘蛛池模板: 甘德县| 昆明市| 砀山县| 罗田县| 娄烦县| 昌图县| 谢通门县| 保山市| 图片| 黄浦区| 布尔津县| 方正县| 温州市| 巩义市| 湖口县| 尉氏县| 蛟河市| 介休市| 瑞昌市| 伊金霍洛旗| 平原县| 文安县| 曲麻莱县| 长寿区| 宜昌市| 时尚| 万源市| 松江区| 丹棱县| 永清县| 安阳县| 杭锦后旗| 隆昌县| 连山| 东宁县| 龙州县| 金昌市| 门源| 邳州市| 万安县| 周口市|