1樓:坤哥
如果沒有變化(比如插入,刪除操作),就會直接呼叫檢視的快取資料,有變化就會重新查詢並重新整理快取。
2樓:匿名使用者
檢視功能,只是把多個表,按照自已的需求,東一塊西一塊,邏輯拼在一起,形成一個邏輯表。
呼叫的時候直接操作這個邏輯表檢視就可以了,其它分析解釋的操作就交給mysql引擎去處理,最終查詢還是要經原來的物理表的。
用檢視是不會節省sql執行時間的,反而會增加解析時間,減少效率的。
為什麼mysql很少人用檢視,mysql的檢視和mssql的檢視有什麼本質區別。
3樓:匿名使用者
問題一:為什麼mysql很少人用檢視?
答:mysql並不是很少人用,而是大部分一般直接通過sql查詢的方式來實現類似view功能,不願意 去增加這麼一個過程,其實增加view還是有很多好處:
簡單性。檢視不僅可以簡化使用者對資料的理解,也可以簡化他們的操作。
安全性。通過檢視使用者只能查詢和修改他們所能見到的資料。
邏輯資料獨立性。檢視可以使應用程式和資料庫表在一定程度上獨立。
問題二:mysql和mssql有哪些本質區別?
請問sql中檢視與查詢的區別?
4樓:教育仁昌
一、功能不同
1、檢視:檢視可以更新欄位內容並返回原表。
2、查詢:查詢檔案中的記錄資料不能修改。
二、歸屬不同
1、檢視:檢視不是一個獨立的檔案,它儲存在資料庫中。
2、查詢:查詢是一個獨立的檔案,不屬於資料庫。
三、資料**不同
5樓:匿名使用者
一、主體不同
1、檢視:計算機資料庫中的檢視,是一個虛擬表,其內容由查詢定義。
2、查詢:是一個獨立的、功能強大的、具有計算功能和條件檢索功能的資料庫物件。
二、特點不同
1、檢視:檢視包含一系列帶有名稱的列和行資料。但是,檢視並不在資料庫中以儲存的資料值集形式存在。
2、查詢:使用者通過設定某些查詢條件,從表或其他查詢中選取全部或者部分資料,以表的形式顯示資料供使用者瀏覽。
三、規則不同
1、檢視:行和列資料來自由定義檢視的查詢所引用的表,並且在引用檢視時動態生成。
2、查詢:是操作的集合,不是記錄的集合。查詢的記錄集實際上並不存在,每次使用查詢時,都是從建立查詢時所提供的資料來源表或者查詢中建立記錄集。
6樓:太平洋來的風
檢視就是一條查詢語句
檢視使用起來就是一張表.但是隻是單個基表的行列投影才可更新.
檢視主要用到對映模式到外模式來使用.
還有有時查詢子查詢套用次數太多,也用檢視來增加可讀性
7樓:
檢視是由基本表匯出的表。sql可以對兩種基本資料結構進行操作,一種是表,另一種是檢視。查詢操作是對錶中資料的操作。
8樓:匿名使用者
查詢是對資料庫表資料的操作,而檢視類似於呼轉功能的中間站
9樓:熱愛資料庫的同學
本回答來自:樹懶學堂_一站式資料知識平臺_sql 檢視
sql 語句的結果集的視覺化的表。
sql 語句的結果集的視覺化的表。
檢視包含行和列,就像一個真實的表。檢視中的欄位就是來自一個或多個資料庫中的真實的表中的欄位。
您可以向檢視新增 sql 函式、where 以及 join 語句,也可以呈現資料,就像這些資料來自於某個單一的表一樣。
sqlserver 和mysql的區別 各自有什麼特點
10樓:
sqlserver 和mysql的區別為:開發公司不同、開發工具包搭配不同、開放性不同。
一、開發公司不同
1、sqlserver:sqlserverr是由microsoft開發和推廣。
2、mysql:mysql由瑞典mysql ab 公司開發,屬於 oracle 旗下產品。
二、開發工具包搭配不同
1、sqlserver:sqlserver能與 microsoft visual studio、microsoft office system以及開發工具包搭配。
2、mysql:mysql不能與 microsoft visual studio、microsoft office system以及開發工具包搭配。
三、開放性不同
1、sqlserver:sqlserver不是開放原始碼軟體
2、mysql:mysql是開放原始碼軟體。
sql server的特點是可信任。使得公司可以以很高的安全性、可靠性和可擴充套件性來執行他們最關鍵任務的應用程式;高效。使得公司可以降低開發和管理他們的資料基礎設施的時間和成本;智慧。
提供了一個全面的平臺,可以在使用者需要的時候給他傳送觀察和資訊。
mysql的特點是其體積小、速度快、總體擁有成本低,尤其是開放原始碼。一般中小型**的開發都選擇 mysql 作為**資料庫。
mysql資料庫: 為什麼sql語句在查詢分析中的執行速度遠遠快於在應用程式的(而且有時候後者慢的很多)
11樓:風中曳楓
查詢分析的執行速度快於應用程式,主要原因在於應用程式查詢的時候,需要呼叫對應的資料庫介面驅動程式,如odbc,jdbc等,使得應用程式能夠與資料庫本身能夠互動,這一塊一般無法進行優化,可以優化的地方一般是在建立資料庫的時候,資料庫的邏輯結構和物理結構的優劣直接影響一個系統的效能如何。
12樓:匿名使用者
首先頂一下樓上的。這也是很多大型資料作業基本90%都是採用sql伺服器端自己查自己。而不是將計算處理讓客戶端來完成。
否則效率和效能都很低下。一般資料查詢方面基本上都是採用儲存過程,函式,觸發器,檢視等物件直接達到預想的目的。畢竟這些程式都是伺服器自己在查詢自己。
效率和效能與程式本身差異肯定是很大的。
13樓:
樓上說法大概正確吧
首先,在資料庫裡你已經登入過了,直接輸入直接得到結果而程式裡你首先是要登入資料庫,然後查,最後還得返回這樣說應該比較好理解點
mysql有幾種索引型別?使用索引時都有那些地方要注意?sql優化原則
14樓:趣事情
mysql索引型別包括:
一、普通索引
這是最基本的索引,它沒有任何限制。有以下幾種建立方式:
1.建立索引
**如下:
create index indexname on mytable(username(length));
如果是char,varchar型別,length可以小於欄位實際長度;如果是blob和text型別,必須指定 length,下同。
2.修改表結構
**如下:
alter mytable add index [indexname] on (username(length)) -- 建立表的時候直接指定。
create table mytable( id int not null, username varchar(16) not null, index [indexname] (username(length)) );
-- 刪除索引的語法:
drop index [indexname] on mytable;
二、唯一索引
它與前面的普通索引類似,不同的就是:索引列的值必須唯一,但允許有空值。如果是組合索引,則列值的組合必須唯一。它有以下幾種建立方式:
**如下:
create unique index indexname on mytable(username(length))
-- 修改表結構
alter mytable add unique [indexname] on (username(length))
-- 建立表的時候直接指定
create table mytable( id int not null, username varchar(16) not null, unique [indexname] (username(length)) );
三、主鍵索引
它是一種特殊的唯一索引,不允許有空值。一般是在建表的時候同時建立主鍵索引:
**如下:
create table mytable( id int not null, username varchar(16) not null, primary key(id) );
當然也可以用 alter 命令。記住:一個表只能有一個主鍵。
四、組合索引
為了形象地對比單列索引和組合索引,為表新增多個欄位:
**如下:
create table mytable( id int not null, username varchar(16) not null, city varchar(50) not null, age int not null );
為了進一步榨取mysql的效率,就要考慮建立組合索引。
二:使用索引的注意事項
使用索引時,有以下一些技巧和注意事項:
1.索引不會包含有null值的列
只要列中包含有null值都將不會被包含在索引中,複合索引中只要有一列含有null值,那麼這一列對於此複合索引就是無效的。所以我們在資料庫設計時不要讓欄位的預設值為null。
2.使用短索引
對串列進行索引,如果可能應該指定一個字首長度。例如,如果有一個char(255)的列,如果在前10個或20個字元內,多數值是惟一的,那麼就不要對整個列進行索引。短索引不僅可以提高查詢速度而且可以節省磁碟空間和i/o操作。
3.索引列排序
mysql查詢只使用一個索引,因此如果where子句中已經使用了索引的話,那麼order by中的列是不會使用索引的。因此資料庫預設排序可以符合要求的情況下不要使用排序操作;儘量不要包含多個列的排序,如果需要最好給這些列建立複合索引。
4.like語句操作
一般情況下不鼓勵使用like操作,如果非使用不可,如何使用也是一個問題。like 「%aaa%」 不會使用索引而like 「aaa%」可以使用索引。
5.不要在列上進行運算
select * from users where year(adddate)<2007;
將在每個行上進行運算,這將導致索引失效而進行全表掃描,因此我們可以改成:
select * from users where adddate<『2007-01-01';
6.不使用not in和<>操作。
三:sql優化原則
常見的簡化規則如下:
1.不要有超過5個以上的表連線(join)
2.考慮使用臨時表或表變數存放中間結果。
3.少用子查詢
4.檢視巢狀不要過深,一般檢視巢狀不要超過2個為宜。
5.連線的表越多,其編譯的時間和連線的開銷也越大,效能越不好控制。
6.最好是把連線拆開成較小的幾個部分逐個順序執行。
7.優先執行那些能夠大量減少結果的連線。
8.拆分的好處不僅僅是減少sql server優化的時間,更使得sql語句能夠以你可以**的方式和順序執行。
如果一定需要連線很多表才能得到資料,那麼很可能意味著設計上的缺陷。
如何檢視linux是否安裝mysql
檢視linux是否安裝mysql有以下7步 1 使用命令 service mysqld status 命令來檢視mysql 的啟動狀態如圖所示 mysqld is stopped 那就說明mysql服務是停止狀態,如果是 mysqld is running 那就說明mysql服務是啟動狀態 2 使用...
如何檢視MySQL資料庫的死鎖日誌
1.使用終端或命令提示符登入到mysql,輸入命令 mysql h p 3306 u username p 解釋 是資料庫ip地址,username是資料庫使用者名稱,輸入命令後,會讓你輸入username對應的密碼,就可以登入了。2.如何檢視mysql資料庫的死鎖資訊。在mysql客戶端下輸入命令...
mysql中,查詢一般有哪些,mysql中,怎樣查詢一個表中有多少記錄!
單表查詢 查詢全部欄位資料 select from tablename 查詢某欄位 一列 的值 select column name from tablename where條件查詢 select column name frome tablename where 表示式 查詢條件,eg id 1 ...