中山php|最優(yōu)網(wǎng)絡(luò) :中山做網(wǎng)站 中山php建站
最優(yōu)良人
Posts Tagged With: 數(shù)據(jù)庫
移植方便的php數(shù)據(jù)庫操作類,建表增刪改查
2012/05/30 at 17:46 » Comments (3)
<?php /** * * 數(shù)據(jù)操作類 * @author Xiaoqiang * @link // * @copyright Xiaoqiang * @version Svn $Id$ * @package */ class Db { var $links; // 構(gòu)造函數(shù),初始化數(shù)據(jù)庫(主機(jī),用戶名,密碼,數(shù)據(jù)庫名) function __construct() { $this->links = mysql_connect(DB_HOST, DB_USER, DB_PWD); if(DEBUG){ mysql_select_db(DB_NAME) or die('ERROR:'.mysql_error()); } else{ mysql_select_db(DB_NAME); } $char_sql = "SET NAMES '" . CHARSET ...more »Mysql 子查詢的用法
2011/08/14 at 01:00 » Comments (337)
一,子選擇基本用法 1,子選擇的定義 子迭擇允許把一個查詢嵌套在另一個查詢當(dāng)中。比如說:一個考試記分項目把考試事件分為考試(T)和測驗(Q)兩種情形。下面這個查詢就能只找出學(xué)生們的考試成績 select * from score where event_id in (select event_id from event where type='T'); 2,子選擇的用法(3種) ? 用子選擇來生成一個參考值 在這種情況下,用內(nèi)層的查詢語句來檢索出一個數(shù)據(jù)值,然后把這個數(shù)據(jù)值用在外層查詢語句的比較操作中。比如說,如果要查詢表中學(xué)生們在某一天的測驗成績,就應(yīng)該使用一個內(nèi)層查詢先找到這一天的測驗的事件號,然后在外層查詢語句中用這個事件號在成績表里面找到學(xué)生們的分?jǐn)?shù)記錄。具體語句為: select * from score where id=(select event_id from event where date='2002-03-21' and type='Q'); 需要注意的是:在應(yīng)用這種內(nèi)層查詢的結(jié)果主要是用來進(jìn)行比較操作的分法時,內(nèi)層查詢應(yīng)該只有一個輸出結(jié)果才對??蠢樱绻胫滥膫€美國總統(tǒng)的生日最小,構(gòu)造下列查詢 select * from president where birth=min(birth) 這個查詢是錯的!因為MySQL不允許在子句里面使用統(tǒng)計函數(shù)!min()函數(shù)應(yīng)該有一個確定的參數(shù)才能工作!所以我們改用子選擇: select ...more »mysql數(shù)據(jù)庫的優(yōu)化
2011/08/14 at 00:58 » Comments (293)
影響數(shù)據(jù)庫性能的根源: 1,磁盤I/O讀取 2,CPU使用率 3,資源競爭 優(yōu)化的方式: 1,設(shè)計優(yōu)化 2,操作優(yōu)化 3,使用其他優(yōu)化技術(shù) 1)設(shè)計優(yōu)化: 分類拆分?jǐn)?shù)據(jù)量大的表; 選取最適用的字段屬性; 索引設(shè)計,為經(jīng)常查詢用到的字段建立索引,避免查詢時查找其他重復(fù)無用的數(shù)據(jù),避免了大范圍掃描; 2)操作優(yōu)化: 鎖表操作; 盡量避免子查詢,將子查詢轉(zhuǎn)化成連接查詢; where子句查詢條件盡量少使用運算操作; A>2與A>=3的效果有很大的區(qū)別了,因為A>2時數(shù)據(jù)庫會先找出為2的記錄索引再進(jìn)行比較,而A>=3時ORACLE則直接找到=3的記錄索引; ...more »