主頁 > 資料庫 > 資料庫基礎知識(上)

資料庫基礎知識(上)

2021-04-18 11:21:04 資料庫

資料庫(SQL Server Management Studio)

1.SQL(結構化查詢)語言

  1. 定義: 結構化查詢語言(Structured Query Language)簡稱SQL,是一種編程語言,一種資料庫查詢和程式設計語言,用于存取資料以及查詢、更新和管理關系資料庫系統,
  2. 特點:(1)一體化(兩方面)
    (2)高度非程序化語言
    (3)面向集合的操作方式(一次一集合)
    (4)互動式和嵌入式兩種使用方式,統一的語法結構
    (5)支持三級模式結構
    視圖 <——>外模式
    基本表(的集合)<——>模式
    存盤檔案和索引 <——>內模式
  3. 功能:(1)、SQL資料定義功能:能夠定義資料庫的三級模式結構,
    (2)、SQL資料操縱功能:包括對基本表和視圖的資料插入、洗掉和修改,特別是具有很強的資料查詢功能,
    (3)、SQL的資料控制功能:主要是對用戶的訪問權限加以控制,以保證系統的安全性,
  4. 陳述句結構:
    1、資料查詢(DQL): SELECT
    2、資料定義(DDL): CREATE(添加),DROP(洗掉),ALTER(修改)
    3、資料操縱(DML): INSERT(添加),DELETE(洗掉),UPDATE(修改)
    4、資料控制(DCL): GRANT,REVOKE
    5、事務控制語言(TCL):COMMIT(提交)命令,SAVEPOINT(保存點)命令,ROLLBACK(回滾)命令
    6、指標控制語言(CCL):DECLARE CURSOR,FETCH INTO,UPDATE WHERE CURRENT
    注:資料定義中的添加,修改和洗掉是對資料庫以及資料表進行操作;而資料操縱中的是對表中的欄位進行操作,

2.使用T-SQL陳述句創建資料檔案

2.1用SQL陳述句創建資料庫

create database db_Student
on(name=db_Student_data,filename='D:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\db_Student_data.mdf',size=3MB,maxsize=100MB,filegrowth=1MB)
log on(name=db_Student_data,filename='D:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\db_Student_data.ldf',size=3MB,maxsize=100MB,filegrowth=1MB)

name:資料庫名
Filename=‘D:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\db_Student_data.mdf’:資料庫檔案名
size=3MB 初始大小(后面單位沒寫默認:MB)
maxsize=100MB:最大大小(不受限制:unlimited)
filegrowth=1MB: 增長量級

mdf:主資料檔案后綴名

ndf:輔資料檔案后綴名

ldf:日志檔案后綴名

輔資料檔案只需在主資料檔案括號后用逗號隔開加括號在括號中編輯五個屬性即可

2.1.1、使用T—SQL創建資料庫、查看資料庫

查看指定資料庫或所有的資料庫資訊

陳述句格式: Execute sp_helpdb 資料庫名

(1)查看當前資料庫服務器中所有資料庫的資訊

? Execute sp_helpdb

(2)查看當前資料庫服務器中Student資料庫的資訊

? Execute sp_helpdb Student

2.1.2、使用T—SQL陳述句更改資料庫名稱

陳述句格式:

? sp_renamedb 當前資料庫名稱,資料庫新名稱

2.2、分離、附加、洗掉資料庫

分離:Sp_detach_db 資料庫名

附加:Sp_attach_db 資料庫名,檔案名 (檔案名:附加到的檔案的物理地址)

洗掉資料庫:drop database 資料庫名 (資料庫一旦被洗掉,就永久的被洗掉)

2.3、修改資料庫

修改資料庫:ALTER DATABASE 資料庫名

1、添加次要資料庫檔案(由于添加輔資料庫檔案導致資料庫結構改動)

ALTER  DATABASE  db_HX
add file(name=db_HX,name=db_HX,filename='D:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\db_HX.ldf',size=3MB,maxsize=100MB,filegrowth=1MB)

2、更改指定檔案

ALTER  DATABASE  db_HX
modify  file(name=db_HX,size=20mb)

3、洗掉指定檔案

ALTER  DATABASE  db_HX
remove  file db_HX

4、添加檔案組

ALTER  DATABASE  db_HX
add filegroup group1

5、將db_HX_data檔案添加到檔案組group中

ALTER  DATABASE  db_HX
add file(name=db_HX_data,filename='物理檔案名')
to filegroup group

2.4縮減資料庫空間

1、縮減資料庫空間的方法:
(1) 縮減已有資料庫檔案大小
(2) 洗掉沒有資料或清空的資料庫檔案
2、縮減已有資料庫檔案大小
(1)收縮資料庫
dbcc shrinkdatabase(db_HX,10)
(2)收縮特定資料庫檔案
dbcc shrinkfile(db_HX _dat,5)

3.使用T-SQL陳述句創建資料表

3.1資料表

  1. 概念:
    (1)資料表是資料庫中最重要的物件,資料庫的全部資料都存盤在不同的資料表中;
    (2)包含資料庫中所有資料的資料庫物件,表定義為列的集合,資料在表中是按行和列組織排列的,每行代表惟一的一條記錄,每列代表記錄中的一個域,
  2. SQL常用的資料型別
    (1)精確數字型別 包括:
  • 整數型別
    • Bigint(長整型) 8位元組
    • int(基本整型) 4位元組
    • smallint(短整型) 2位元組
    • tinyint() 1位元組
  • Bit(位型別):
    • 取值:0和1
    • 在輸入0以外的其他值時,系統均把它們當1
  • Decimal和Numeric(數值型別)
    • 帶固定精度和小數位數的數值資料型別;
      Decimal(p[,s])和numeric(p[,s])
      P:精度,取值在1到38之間,默認18;
      S:小數位數,0<=s<=p,默認為0;
      eg:decimal(7,3),表示共有7位數,其中整數4位,小數3位,
  • Money和SmallMoney(貨幣型別)
    • Money:基本貨幣型,占8個位元組長度
    • Smallmoney:短貨幣型,占4個位元組長度
      (2 )近似數字型別:
  • Real:近似實型浮點數,最大可有7位精確位數,占用4個位元組存盤空間,
  • Float:可變精度實型浮點數,可精確到第15位小數,不指定Float 資料型別的長度,占用8個位元組存盤空間,
    (3) 日期和時間型別:
  • Datetime:(占用8個位元組),精確到毫秒,
  • Smalldatetime:(占用4個位元組),精確到分,
    (4) 字符資料型別:
  • Char(n):定長字符型,若輸入資料的字串長度小于n,則系統自動在其后添加空格來填滿設定好的空間;若輸入的資料過長,將會截掉其超出部分,
  • Varchar(n):變長字符型,每一列的長度達到規定位元組之前系統不會在其后添加空格來填滿設定好的空間
  • Text:文本型別
    (5)Unicode 字符資料型別
  • Nchar(n):定長統一字符型,Nchar資料型別n的取值為1~4000,
  • Nvarchar(n):變長統一字符型,n的取值范圍為1~4000,
  • Ntext:與Text資料型別類似
    (6)二進制字符資料型別
  • Binary(n):定長二進制,最大長度(即n的最大值)為8000,
  • Varbinary(n):變長二進制,
  • Image:用于存盤照片、目錄圖片(包括.GIF,BNP,JPEG)等
    (7)其他資料型別
    (8)用戶自定義資料型別

3.2使用T-SQL陳述句創建資料表

陳述句格式:

CREATE TABLE  
[資料庫名.DBO.] 創建資料表的表名
( 列名1  資料型別    [NULL|NOT NULL],
    列名2   資料型別   [NULL|NOT NULL], 
     ………
    列名n   資料型別  [NULL|NOT NULL]

注意:
每個欄位之間用半角狀態下的逗號“,”分隔,最后一個欄位沒有逗號 ,

3.3創建約束

1、分類:

  • Primary Key主鍵約束
  • null空值約束
  • Unique惟一性約束
  • Check檢查約束
  • Default默認值約束
  • Foreign Key外鍵約束
    2、完整性約束的基本語法格式:
[CONSTRAINT constraint_name(約束名)]<約束型別>
   約束不指定名稱時,系統會給定一個名稱,

(1)主鍵(primary key)
陳述句格式:

constraint  約束名  primary  key(列名)
--eg:
create  table  tb_score
(  
  sno  char(10)  not null,
  cno char(10)  not null,
  score  float,
  constraint PK_tb_score  primary key(sno,cno)
) 

注意:
命名規范:PK_[表名稱]
(2) 惟一性約束 (unique)

  • 使用惟一性約束的欄位允許為空值;
  • 一個表中可以允許有多個惟一性約束;
  • 可以把惟一性約束定義在多個欄位上.
    陳述句格式:
constraint  約束名  unique (列名)
--eg:
create  table tb_student
( sno  nchar(10)  not null,
  sn   nvarchar(30)   not null,
  ……
  constraint pk_tb_student primary key(sno),
  constraint  uq_tb_student unique(sn)
)

主鍵約束與惟一約束的區別:
①在一個基本表中只能定義一個primary key約束,但可定義多個unique約束;
②對于指定為primary key的一個列或多個列的組合,其中任何一個列都不能出現空值,而對于unique所約束的惟一鍵,則允許為空,
注意: 不能為同一個列或一組列既定義unique約束,又定義primary key約束,
(3)檢查約束(check)

  • 一個表中可以定義多個檢查約束;
  • 每個create table陳述句中每個欄位只能定義一個檢查約束;
  • 當執行insert陳述句或者update陳述句時,檢查約束將驗證資料,
constraint  約束名  check (約束運算式)
--eg:
create  table  tb_score
 (  sno char(5),
    ……
    constraint ck_tb_score check (score>=0 and score<=100)
) 
--注:  score  between 0 and 100也可以

(4)默認約束 (default)

  • 每個欄位只能定義一個默認約束;
  • 如果定義的默認值長于其對應欄位的允許長度,那么輸入到表中的默認值將被截斷,
    語法格式:
default  默認值
--eg:
create table tb_student
(
   sno char(10),
   dept varchar(50) default ‘軟體學院',   
   ……
)

(5) 空值約束(null)

  • null值不是0也不是空白,更不是填入字串的“null”字串,而是表示“不知道”、“ 不確定”或“沒有資料”的意思,

(6) 外鍵約束 (foreign key)

  • 外鍵從句中的欄位數目和每個欄位指定的資料型別都必須和references從句中的欄位相匹配;
  • 一個表中最多可以有31個外鍵約束;
  • 在臨時表中,不能使用外鍵約束;
  • 主鍵和外鍵的資料型別必須嚴格匹配 ,
    語法格式:
constraint   約束名  foreign key  (列名)references  主鍵表名 (主鍵表列名)
--eg:創建tb_score表,sno和cno為外鍵,
create table tb_score
(	sno char(10),
	……
	constraint FK_tb_score_tb_student foreign key(sno) references tb_student(sno),
	constraint FK_tb_score_tb_course foreign key(cno) references tb_course(cno)
)

3.4 修改、洗掉資料表

--eg: :在表tb_student中增加一個remark欄位,型別為varchar,長度為200,洗掉表中的polity欄位,并且修改sn欄位的資料型別為char,長度為20,
  alter  table  tb_student
  add  remark varchar(200)  null
  
  alter  table  tb_student
  drop  column  polity
   
  alter  table  tb_student  
  alter  column  sn  char(20)  null 
 

洗掉表

  • SQL Server管理平臺創建主鍵約束
  • 利用DROP TABLE陳述句洗掉表
    語法形式:
drop table 表名

注意:

  • drop table陳述句可以洗掉一個表和表中的資料及其與表有關的所有索引、觸發器、約束、許可物件,
  • 在洗掉一個表之前要先洗掉與此表相關聯的表中的外鍵約束,

3.5 增加、修改和洗掉約束

--eg::在tb_student表中添加完整性約束定義,使birthday為系統當前時間,
alter table tb_student
add constraint def_tb_student default getdate() for birthday

--eg::在tb_score表中洗掉完整性約束定義,使score取任意值,
alter table tb_score
drop constraint ck_tb_score

3.6 SQL資料查詢

3.6.1 select陳述句

SELECT陳述句格式:

SELECT   select_list    [  INTO  new_table_name ]  FROM   talbe_list
    [ WHERE     行條件運算式  ]
    [  GROUP BY   分組運算式  [  HAVING    組條件運算式 ] ]
    [  ORDER BY  order_list]  [ ASC|DESC ]

select基本陳述句格式:
select 查詢欄位1,欄位2 ,…欄位n from 表名

--從db_student資料庫的tb_student表中檢索所有學生的全部欄位內容,
      select  *  from tb_student
 -- 注意:當顯示全部列時可用*代替
         

3.6.2

1、top關鍵字
使用top關鍵字 可以回傳查詢結果中的前n行 ,如果指定percent關鍵字 ,將從結果集中回傳前n%行

-- 回傳tb_student的前3條記錄,
       select  top  3  *  from  tb_student

-- 回傳tb_student的前20%的記錄,
       select  top  20  percent  *  from tb_student

2、列別名
對查詢資料列標題進行修改,或為沒有標題的列增加臨時標題,列別名表示方式如下:
列別名 = 列名
列名as 列別名

-- tb_student 表中查詢所有學生的學號,姓名,出生日期欄位內容,要求用別名顯示,
select  sno  as  學號,姓名=sn,birthday=出生日期 from tb_student

3、組合列
除了只是顯示基礎欄位的資訊列之外,查詢還可以使用運算或函式來任意組合得到列,

-- 查詢學生的學號姓名,要求如下效果201401010101 (陳廣錄),
select  sno+  '('  +  sn  +  ') '  as '學號姓名'  from  tb_student

-- 顯示每名同學的學號,姓名和年齡,
   select   sno   as  學號, sn  as  姓名, year(getdate()) - year(birthday)  as  年齡 from  tb_student

3.6.3 where子句的基本使用

基本的where子句格式:

where  篩選列名  運算子  值
查詢條件謂詞
比較(比較運算子)=,>,<,>=,<=,!=,<>,!>,!<
確定范圍BETWEEN a AND b,NOT BETWEEN a AND b
確定集合IN,NOT IN
字符匹配LIKE,NOT LIKE
空值IS NULL,IS NOT NULL
多重條件(邏輯謂詞)AND,OR

(1)where條件使用算術運算式:

注意: 不同資料型別值前后界定符號不同

-- 在tb_student表中找到姓名為陳君然的同學,
select * from  tb_student where sn = '陳君然'
-- 查詢tb_student表中姓“張”的同學資訊,
select * from tb_student   where left(sn, 1) = '張'
/*注意本例中left函式的使用
     left 函式:回傳從字串左邊開始指定個數的字符
     eg:left  (欄位名, 2) 結果回傳該欄位資料的前2位
*/

(2)where條件使用邏輯運算式

  • 運算式 or 運算式
  • 運算式 and  運算式
-- 列出tb_score表中的所有低于30分或高于90分的同學,
select * from tb_score where (score< 30)  or  (score > 90)
-- 列出tb_student表中所有男團員的學生,
 select * from tb_student where (sex= '男')  and  (polity = '團員')
 -- 列出tb_score表中c01成績中大于60分或c02成績中大于60分的同學,
 select * from tb_score where (cno = 'c01') and (score > 60)  or (cno= 'c02') and (score> 60)
--注意:使用or邏輯關系時,只要滿足任意一個運算式即可,而and需要同時滿足兩個條件,

(3)where條件使用三種特殊運算,

  • between…and 允許你指定值的范圍
  • in 允許您指定一組值
  • like 允許您使用通配符來模糊查詢
-- 從表tb_student表中查詢1995~1996年出生的同學,
select *  from tb_student where   year(birthday) between 1995 and 1996
--  查詢tb_student表中所有黨員和團員的資訊,
select * from tb_student where  polity  in  ('黨員', '團員') 
-- 查詢tb_student表中所有姓“張”和姓“李”的同學,
select * from tb_student where  left(sn, 1) in ('張', '李') 
通配符含義示例
-任意單個字符where sn like’王_'匹配姓王的兩個字的
%由零個或多個字符組成的字串where sn like’%劉%'匹配含劉該字的所有字串
[]某個范圍或集合內的任意指定的字符where sn like '張[1-3]'匹配"張1"或"張2"或"張3"但不匹配"張4"
[^]不在某個范圍或集合內的任意指定的字Where sn like '張[^3]'匹配處張3以外的所有字串
-- 在tb_student表中找到姓“李X”的同學,
select * from tb_student where  sn like '李_'
-- 在tb_student表中找到所有姓名中帶佳字的同學,
select * from tb_student where  sn like '%佳%'
--   在tb_student表中找到所有姓王名 (陽/洋/楊)的同學,
select * from tb_student where  sn like  '王[陽洋楊]' 
 -- 在tb_student表中找到所有不姓張的同學,
 select * from tb_student where  sn like '[^張]%'

(4)where條件使用null
NULL(空值)表示列的資料值未知或不可用
匹配方式: 列名 is NULL
列名 is not NULL

-- 在tb_student表中查詢政治面貌為空的學生學號、姓名、院系, 
select sno,sn,dept from tb_student where polity is null

轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/277399.html

標籤:其他

上一篇:mysql 資料庫學習筆記

下一篇:web安全之SQL注入的基礎入門(1)

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • GPU虛擬機創建時間深度優化

    **?桔妹導讀:**GPU虛擬機實體創建速度慢是公有云面臨的普遍問題,由于通常情況下創建虛擬機屬于低頻操作而未引起業界的重視,實際生產中還是存在對GPU實體創建時間有苛刻要求的業務場景。本文將介紹滴滴云在解決該問題時的思路、方法、并展示最終的優化成果。 從公有云服務商那里購買過虛擬主機的資深用戶,一 ......

    uj5u.com 2020-09-10 06:09:13 more
  • 可編程網卡芯片在滴滴云網路的應用實踐

    **?桔妹導讀:**隨著云規模不斷擴大以及業務層面對延遲、帶寬的要求越來越高,采用DPDK 加速網路報文處理的方式在橫向縱向擴展都出現了局限性。可編程芯片成為業界熱點。本文主要講述了可編程網卡芯片在滴滴云網路中的應用實踐,遇到的問題、帶來的收益以及開源社區貢獻。 #1. 資料中心面臨的問題 隨著滴滴 ......

    uj5u.com 2020-09-10 06:10:21 more
  • 滴滴資料通道服務演進之路

    **?桔妹導讀:**滴滴資料通道引擎承載著全公司的資料同步,為下游實時和離線場景提供了必不可少的源資料。隨著任務量的不斷增加,資料通道的整體架構也隨之發生改變。本文介紹了滴滴資料通道的發展歷程,遇到的問題以及今后的規劃。 #1. 背景 資料,對于任何一家互聯網公司來說都是非常重要的資產,公司的大資料 ......

    uj5u.com 2020-09-10 06:11:05 more
  • 滴滴AI Labs斬獲國際機器翻譯大賽中譯英方向世界第三

    **桔妹導讀:**深耕人工智能領域,致力于探索AI讓出行更美好的滴滴AI Labs再次斬獲國際大獎,這次獲獎的專案是什么呢?一起來看看詳細報道吧! 近日,由國際計算語言學協會ACL(The Association for Computational Linguistics)舉辦的世界最具影響力的機器 ......

    uj5u.com 2020-09-10 06:11:29 more
  • MPP (Massively Parallel Processing)大規模并行處理

    1、什么是mpp? MPP (Massively Parallel Processing),即大規模并行處理,在資料庫非共享集群中,每個節點都有獨立的磁盤存盤系統和記憶體系統,業務資料根據資料庫模型和應用特點劃分到各個節點上,每臺資料節點通過專用網路或者商業通用網路互相連接,彼此協同計算,作為整體提供 ......

    uj5u.com 2020-09-10 06:11:41 more
  • 滴滴資料倉庫指標體系建設實踐

    **桔妹導讀:**指標體系是什么?如何使用OSM模型和AARRR模型搭建指標體系?如何統一流程、規范化、工具化管理指標體系?本文會對建設的方法論結合滴滴資料指標體系建設實踐進行解答分析。 #1. 什么是指標體系 ##1.1 指標體系定義 指標體系是將零散單點的具有相互聯系的指標,系統化的組織起來,通 ......

    uj5u.com 2020-09-10 06:12:52 more
  • 單表千萬行資料庫 LIKE 搜索優化手記

    我們經常在資料庫中使用 LIKE 運算子來完成對資料的模糊搜索,LIKE 運算子用于在 WHERE 子句中搜索列中的指定模式。 如果需要查找客戶表中所有姓氏是“張”的資料,可以使用下面的 SQL 陳述句: SELECT * FROM Customer WHERE Name LIKE '張%' 如果需要 ......

    uj5u.com 2020-09-10 06:13:25 more
  • 滴滴Ceph分布式存盤系統優化之鎖優化

    **桔妹導讀:**Ceph是國際知名的開源分布式存盤系統,在工業界和學術界都有著重要的影響。Ceph的架構和演算法設計發表在國際系統領域頂級會議OSDI、SOSP、SC等上。Ceph社區得到Red Hat、SUSE、Intel等大公司的大力支持。Ceph是國際云計算領域應用最廣泛的開源分布式存盤系統, ......

    uj5u.com 2020-09-10 06:14:51 more
  • es~通過ElasticsearchTemplate進行聚合~嵌套聚合

    之前寫過《es~通過ElasticsearchTemplate進行聚合操作》的文章,這一次主要寫一個嵌套的聚合,例如先對sex集合,再對desc聚合,最后再對age求和,共三層嵌套。 Aggregations的部分特性類似于SQL語言中的group by,avg,sum等函式,Aggregation ......

    uj5u.com 2020-09-10 06:14:59 more
  • 爬蟲日志監控 -- Elastc Stack(ELK)部署

    傻瓜式部署,只需替換IP與用戶 導讀: 現ELK四大組件分別為:Elasticsearch(核心)、logstash(處理)、filebeat(采集)、kibana(可視化) 下載均在https://www.elastic.co/cn/downloads/下tar包,各組件版本最好一致,配合fdm會 ......

    uj5u.com 2020-09-10 06:15:05 more
最新发布
  • day02-2-商鋪查詢快取

    功能02-商鋪查詢快取 3.商鋪詳情快取查詢 3.1什么是快取? 快取就是資料交換的緩沖區(稱作Cache),是存盤資料的臨時地方,一般讀寫性能較高。 快取的作用: 降低后端負載 提高讀寫效率,降低回應時間 快取的成本: 資料一致性成本 代碼維護成本 運維成本 3.2需求說明 如下,當我們點擊商店詳 ......

    uj5u.com 2023-04-20 08:33:24 more
  • MySQL中binlog備份腳本分享

    關于MySQL的二進制日志(binlog),我們都知道二進制日志(binlog)非常重要,尤其當你需要point to point災難恢復的時侯,所以我們要對其進行備份。關于二進制日志(binlog)的備份,可以基于flush logs方式先切換binlog,然后拷貝&壓縮到到遠程服務器或本地服務器 ......

    uj5u.com 2023-04-20 08:28:06 more
  • day02-短信登錄

    功能實作02 2.功能01-短信登錄 2.1基于Session實作登錄 2.1.1思路分析 2.1.2代碼實作 2.1.2.1發送短信驗證碼 發送短信驗證碼: 發送驗證碼的介面為:http://127.0.0.1:8080/api/user/code?phone=xxxxx<手機號> 請求方式:PO ......

    uj5u.com 2023-04-20 08:27:27 more
  • 快取與資料庫雙寫一致性幾種策略分析

    本文將對幾種快取與資料庫保證資料一致性的使用方式進行分析。為保證高并發性能,以下分析場景不考慮執行的原子性及加鎖等強一致性要求的場景,僅追求最終一致性。 ......

    uj5u.com 2023-04-20 08:26:48 more
  • sql陳述句優化

    問題查找及措施 問題查找 需要找到具體的代碼,對其進行一對一優化,而非一直把關注點放在服務器和sql平臺 降低簡化每個事務中處理的問題,盡量不要讓一個事務拖太長的時間 例如檔案上傳時,應將檔案上傳這一步放在事務外面 微軟建議 4.啟動sql定時執行計劃 怎么啟動sqlserver代理服務-百度經驗 ......

    uj5u.com 2023-04-20 08:26:35 more
  • 云時代,MySQL到ClickHouse資料同步產品對比推薦

    ClickHouse 在執行分析查詢時的速度優勢很好的彌補了MySQL的不足,但是對于很多開發者和DBA來說,如何將MySQL穩定、高效、簡單的同步到 ClickHouse 卻很困難。本文對比了 NineData、MaterializeMySQL(ClickHouse自帶)、Bifrost 三款產品... ......

    uj5u.com 2023-04-20 08:26:29 more
  • sql陳述句優化

    問題查找及措施 問題查找 需要找到具體的代碼,對其進行一對一優化,而非一直把關注點放在服務器和sql平臺 降低簡化每個事務中處理的問題,盡量不要讓一個事務拖太長的時間 例如檔案上傳時,應將檔案上傳這一步放在事務外面 微軟建議 4.啟動sql定時執行計劃 怎么啟動sqlserver代理服務-百度經驗 ......

    uj5u.com 2023-04-20 08:25:13 more
  • Redis 報”OutOfDirectMemoryError“(堆外記憶體溢位)

    Redis 報錯“OutOfDirectMemoryError(堆外記憶體溢位) ”問題如下: 一、報錯資訊: 使用 Redis 的業務介面 ,產生 OutOfDirectMemoryError(堆外記憶體溢位),如圖: 格式化后的報錯資訊: { "timestamp": "2023-04-17 22: ......

    uj5u.com 2023-04-20 08:24:54 more
  • day02-2-商鋪查詢快取

    功能02-商鋪查詢快取 3.商鋪詳情快取查詢 3.1什么是快取? 快取就是資料交換的緩沖區(稱作Cache),是存盤資料的臨時地方,一般讀寫性能較高。 快取的作用: 降低后端負載 提高讀寫效率,降低回應時間 快取的成本: 資料一致性成本 代碼維護成本 運維成本 3.2需求說明 如下,當我們點擊商店詳 ......

    uj5u.com 2023-04-20 08:24:03 more
  • day02-短信登錄

    功能實作02 2.功能01-短信登錄 2.1基于Session實作登錄 2.1.1思路分析 2.1.2代碼實作 2.1.2.1發送短信驗證碼 發送短信驗證碼: 發送驗證碼的介面為:http://127.0.0.1:8080/api/user/code?phone=xxxxx<手機號> 請求方式:PO ......

    uj5u.com 2023-04-20 08:23:11 more