中山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,子選擇的定義 子迭擇允許把一個(gè)查詢嵌套在另一個(gè)查詢當(dāng)中。比如說:一個(gè)考試記分項(xiàng)目把考試事件分為考試(T)和測驗(yàn)(Q)兩種情形。下面這個(gè)查詢就能只找出學(xué)生們的考試成績 select * from score where event_id in (select event_id from event where type='T'); 2,子選擇的用法(3種) ? 用子選擇來生成一個(gè)參考值 在這種情況下,用內(nèi)層的查詢語句來檢索出一個(gè)數(shù)據(jù)值,然后把這個(gè)數(shù)據(jù)值用在外層查詢語句的比較操作中。比如說,如果要查詢表中學(xué)生們在某一天的測驗(yàn)成績,就應(yīng)該使用一個(gè)內(nèi)層查詢先找到這一天的測驗(yàn)的事件號,然后在外層查詢語句中用這個(gè)事件號在成績表里面找到學(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)行比較操作的分法時(shí),內(nèi)層查詢應(yīng)該只有一個(gè)輸出結(jié)果才對??蠢?,如果想知道哪個(gè)美國總統(tǒng)的生日最小,構(gòu)造下列查詢 select * from president where birth=min(birth) 這個(gè)查詢是錯(cuò)的!因?yàn)镸ySQL不允許在子句里面使用統(tǒng)計(jì)函數(shù)!min()函數(shù)應(yīng)該有一個(gè)確定的參數(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è)計(jì)優(yōu)化 2,操作優(yōu)化 3,使用其他優(yōu)化技術(shù) 1)設(shè)計(jì)優(yōu)化: 分類拆分?jǐn)?shù)據(jù)量大的表; 選取最適用的字段屬性; 索引設(shè)計(jì),為經(jīng)常查詢用到的字段建立索引,避免查詢時(shí)查找其他重復(fù)無用的數(shù)據(jù),避免了大范圍掃描; 2)操作優(yōu)化: 鎖表操作; 盡量避免子查詢,將子查詢轉(zhuǎn)化成連接查詢; where子句查詢條件盡量少使用運(yùn)算操作; A>2與A>=3的效果有很大的區(qū)別了,因?yàn)锳>2時(shí)數(shù)據(jù)庫會先找出為2的記錄索引再進(jìn)行比較,而A>=3時(shí)ORACLE則直接找到=3的記錄索引; ...more »