mysql跨伺服器跨庫查詢,sql server跨資料庫查詢

本文目錄一覽:

mysql跨庫聯合查詢?

如果不使用資料庫中間件的話,這樣的邏輯一般是放在業務層面來通過代碼來合併數據。

Sqlservice跨庫執行插入/查詢Mysql的問題

oracle 10g的DBMS_XPLAN包中display_cursor函數不同於display函數,display_cursor用於顯示SQL語句的真實的執行計劃,在大多數情況下,

顯示真實的執行計劃有助於更好的分析SQL語句的全過程,尤其是運行此SQL語句實時的I/O開銷。通過對比預估的I/O與真實的I/O開銷來判斷

SQL語句所存在問題,如缺少統計信息,SQL語句執行的次數,根據實際中間結果集的大小來選擇合適的連接方式等。本文僅僅講述

display_cursor函數的使用。

一、display_cursor函數用法

1、display_cursor函數語法

DBMS_XPLAN.DISPLAY_CURSOR(

sql_id IN VARCHAR2 DEFAULT NULL,

cursor_child_no IN NUMBER DEFAULT NULL,

format IN VARCHAR2 DEFAULT ‘TYPICAL’);

2、display_cursor函數參數描述

sql_id

指定位於庫緩存執行計劃中SQL語句的父游標。默認值為null。當使用默認值時當前會話的最後一條SQL語句的執行計劃將被返回

可以通過查詢V$SQL 或V$SQLAREA的SQL_ID列來獲得SQL語句的SQL_ID。

cursor_child_no

指定父游標下子游標的序號。即指定被返回執行計劃的SQL語句的子游標。默認值為0。如果為null,則sql_id所指父游標下所有子游標

的執行計劃都將被返回。

format

控制SQL語句執行計劃的輸出部分,即哪些可以顯示哪些不顯示。使用與display函數的format參數與修飾符在這裡同樣適用。

除此之外當在開啟statistics_level=all時或使用gather_plan_statistics提示可以獲得執行計劃中實時的統計信息

有關詳細的format格式描述請參考:dbms_xplan之display函數的使用 中format參數的描述

下面給出啟用統計信息時format新增的修飾符

iostats 控制I/O統計的顯示

last 默認,顯示所有執行計算過的統計。如果指定該值,則只顯示最後一次執行的統計信息

memstats 控制pga相關統計的顯示

allstats 此為iostats memstats的快捷方式,即allstats包含了iostats和memstats

run_stats_last 等同於iostats last。只能用於oracle 10g R1

run_stats_tot 等同於iostats。只能用於oracle 10g R1

抓一個最近一小時最消耗IO的SQL:

SELECT sql_id, COUNT(*)

FROM gv$active_session_history ash, gv$event_name evt

WHERE ash.sample_time SYSDATE – 1 / 24

AND ash.session_state = ‘WAITING’

AND ash.event_id = evt.event_id

AND evt.wait_class = ‘User I/O’

GROUP BY sql_id

ORDER BY COUNT(*) DESC;

執行上面的SQL:

SQL SELECT sql_id, COUNT(*)

FROM gv$active_session_history ash, gv$event_name evt

2 3 WHERE ash.sample_time SYSDATE – 1 / 24

4 AND ash.session_state = ‘WAITING’

5 AND ash.event_id = evt.event_id

6 AND evt.wait_class = ‘User I/O’

7 GROUP BY sql_id

8 ORDER BY COUNT(*) DESC;

SQL_ID COUNT(*)

————- ———-

g7fu6qba82m6b 668

63r47zyphdk06 526

9f5m4wd88nc1h 514

593p47drw5fhk 232

br91w16jzy4fu 120

4fvwyjpnh6tp7 78

gm0nrbfuj8kzr 70

2184k363hw4xd 68

gc4dajs7g5myy 46

8vrk9sfuwfdgq 42

ccpnb4dwdmq21 40

查看SQL的執行計劃:

SELECT * FROM TABLE(dbms_xplan.display_cursor(‘g7fu6qba82m6b’));

在SQLPLUS中執行:

SQL set pagesize 2000

SQL SELECT * FROM TABLE(dbms_xplan.display_cursor(‘g7fu6qba82m6b’));

PLAN_TABLE_OUTPUT

————————————————————————————————————————

SQL_ID g7fu6qba82m6b, child number 0

————————————-

UPDATE “CPDDS_PDATA”.”CDM_LEDGER” SET “CSTM_NAME” = :a1,”CSTM_NO” =

:a2,”PAPER_TYPE” = :a3,”PAPER_NO” = :a4,”CURR_TYPE” = :a5,”SVT_NO” =

:a6,”BAL_DIR” = :a7,”BAL” = :a8,”AVAL_BAL” = :a9,”NORM_FRATIO” =

:a10,”PK_BAL” = :a11,”DR_ACCU” = :a12,”CR_ACCU” = :a13,”LAST_TRAN_DATE” =

:a14,”LAST_TRAN_TIME” = :a15,”PRT_LINE_NUM” = :a16,”NOREG_PK_REC_NUM” =

:a17,”PK_NO” = :a18,”PWD” = :a19,”FLAG” = :a20,”FRZ_FLAG” =

:a21,”CARD_HOLD_FLAG” = :a22,”PK_HOLD_FLAG” = :a23,”BGN_INT_DATE” =

:a24,”OPEN_DATE” = :a25,”ACC_HOLD_FLAG” = :a26,”CLS_DATE” =

:a27,”OPEN_TLR” = :a28,”CLS_TLR” = :a29,”CLS_INT” = :a30,”OPEN_INST” =

:a31,”ADD_NUM” = :a32,”DAC” = :a33,”FRZ_TIMES1″ = :a34,”FRZ_TIMES2″ =

:a35,”HOST_SEQNO” = :a36,”D_UPDATE_DATE” = :a37 WHERE “ACC” = :b0

Plan hash value: 319441092

———————————————————————————–

| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |

———————————————————————————–

| 0 | UPDATE STATEMENT | | | | 3 (100)| |

| 1 | UPDATE | CDM_LEDGER | | | | |

|* 2 | INDEX UNIQUE SCAN| I_CDM_LEDGER | 1 | 269 | 2 (0)| 00:00:01 |

———————————————————————————–

Predicate Information (identified by operation id):

—————————————————

2 – access(“ACC”=:B0)

29 rows selected.

總結

1、與display函數不同,display_cursor顯示的為真實的執行計劃

2、對於format參數,使用與display函數的各個值,同樣適用於display_cursor函數

3、當statistics_level為all或使用gather_plan_statistics提示可以獲得執行時的統計信息

4、根據真實與預估的統計信息可以初步判斷SQL效率低下的原因,如統計信息的準確性、主要的開銷位於那些步驟等

MYSQL跨伺服器跨庫關聯表查詢很慢怎麼解決

CSDN官方APP

中國專業的IT社區立即下載

CSDN首頁

博客

學院

下載

GitChat

論壇

APP

問答

商城

VIP

活動

招聘

ITeye

TinyMind

專題

Copyright © 1999-2019,

CSDN.NET, All Rights Reserved

crimeheaven的專欄

登錄

crimeheaven關注 訪問量 6萬+ 原創 22 博主更多文章

轉 mysql跨庫操作速度慢的解決方案

crimeheaven閱讀數:24752014-03-14

遠程連接mysql速度慢的解決方法:skip-name-resolve取消DNS的反向解析

PHP遠程連接MYSQL速度慢,有時遠程連接到MYSQL用時4-20秒不等,本地連接MYSQL正常,出現這種問題的主要原因是,默認安裝的MYSQL開啟了DNS的反向解析,在MY.INI(WINDOWS系統下)或MY.CNF(UNIX或LINUX系統下)文件的[mysqld]下加入skip-name-resolve這一句。

但是,這樣會引起一個問題:連接mysql時,不能使用 localhost連接了,而是要使用IP地址的;如果是按localhost對用戶賦許可權的話,用戶登錄許可權也要修改一下的。

連接mysql速度慢的解決方法. 

2台伺服器,一台跑iis+php,一台跑mysql,和以往一樣配置好環境,測試頁面一切OK

跑應用的時候發現php訪問mysql速度很慢,這種情況在以前從未發現過,雖然2台伺服器並非在同一網段中,但是ping數值基本上都在1,2ms之間,tcp連接應該不是問題關健,google以後找到答案,在my.ini文件的[mysqld]部分加入:skip-name-resolve,保存文件,重啟mysql,一切OK啦,速度象飛一樣了

新版本的mysql配置起來不象以前的那個傻瓜化了,這個問題折騰了我一上午的時間,晚上回來總算是解決了,嘿嘿,又學到一些東西。 

Windows 2003下的MySQL 5伺服器,本機連接到MySQL服務非常快,區域網內有兩台Linux機器,有一台連接很快,另外一台輸入密碼後要等好幾秒鐘才能連上。

有大佬知道mysql8.0怎麼跨伺服器多表關聯查詢嗎?

兩張表如果是關聯表,比如第一個表的sid對應第二個表的sid 用 select * from 表名1 a(a是表明的別名) left join 表名2 b on a.sid=b.sid ;

如果沒有關聯 select * from 表1 ,表2

如何在mysql中進行跨伺服器或者跨埠查詢,就像sql server中的鏈接伺服器一樣的

創建鏈接伺服器,

之後就可以直接使用,例如:

select from 鏈接伺服器名.odb.[database].[table]

sql資料庫中跨不同資料庫伺服器的查詢

–SQL Server跨伺服器查詢

–創建鏈接伺服器(連接的保密要自己想辦法解決啦!)

exec sp_addlinkedserver ‘LKSV’, ‘ ‘, ‘SQLOLEDB’, ‘遠程伺服器名或ip地址’ 

exec sp_addlinkedsrvlogin ‘LKSV’, ‘false ‘,null, ‘用戶名’, ‘密碼’

–查詢實例

select * from LKSV.資料庫名.dbo.表名

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/254837.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-15 12:13
下一篇 2024-12-15 12:13

相關推薦

  • 如何修改mysql的埠號

    本文將介紹如何修改mysql的埠號,方便開發者根據實際需求配置對應埠號。 一、為什麼需要修改mysql埠號 默認情況下,mysql使用的埠號是3306。在某些情況下,我們需…

    編程 2025-04-29
  • 伺服器安裝Python的完整指南

    本文將為您提供伺服器安裝Python的完整指南。無論您是一位新手還是經驗豐富的開發者,您都可以通過本文輕鬆地完成Python的安裝過程。以下是本文的具體內容: 一、下載Python…

    編程 2025-04-29
  • STUN 伺服器

    STUN 伺服器是一個網路伺服器,可以協助網路設備(例如 VoIP 設備)解決 NAT 穿透、防火牆等問題,使得設備可以正常地進行數據傳輸。本文將從多個方面對 STUN 伺服器做詳…

    編程 2025-04-29
  • Python操作MySQL

    本文將從以下幾個方面對Python操作MySQL進行詳細闡述: 一、連接MySQL資料庫 在使用Python操作MySQL之前,我們需要先連接MySQL資料庫。在Python中,我…

    編程 2025-04-29
  • 解決docker-compose 容器時間和伺服器時間不同步問題

    docker-compose是一種工具,能夠讓您使用YAML文件來定義和運行多個容器。然而,有時候容器的時間與伺服器時間不同步,導致一些不必要的錯誤和麻煩。以下是解決方法的詳細介紹…

    編程 2025-04-29
  • MySQL遞歸函數的用法

    本文將從多個方面對MySQL遞歸函數的用法做詳細的闡述,包括函數的定義、使用方法、示例及注意事項。 一、遞歸函數的定義 遞歸函數是指在函數內部調用自身的函數。MySQL提供了CRE…

    編程 2025-04-29
  • MySQL bigint與long的區別

    本文將從數據類型定義、存儲空間、數據範圍、計算效率、應用場景五個方面詳細闡述MySQL bigint與long的區別。 一、數據類型定義 bigint在MySQL中是一種有符號的整…

    編程 2025-04-28
  • MySQL左連接索引不生效問題解決

    在MySQL資料庫中,經常會使用左連接查詢操作,但是左連接查詢中索引不生效的情況也比較常見。本文將從多個方面探討MySQL左連接索引不生效問題,並給出相應的解決方法。 一、索引的作…

    編程 2025-04-28
  • 如何選擇MySQL伺服器文件許可權

    MySQL是一種流行的關係型資料庫管理系統。在安裝MySQL時,選擇正確的文件許可權是保證安全和性能的重要步驟。以下是一些指導您選擇正確許可權的建議。 一、許可權選擇 MySQL伺服器需…

    編程 2025-04-27
  • CentOS 7在線安裝MySQL 8

    在本文中,我們將介紹如何在CentOS 7操作系統中在線安裝MySQL 8。我們會從安裝環境的準備開始,到安裝MySQL 8的過程進行詳細的闡述。 一、環境準備 在進行MySQL …

    編程 2025-04-27

發表回復

登錄後才能評論