国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

數(shù)據(jù)庫(kù)分片及其挑戰(zhàn)

這篇具有很好參考價(jià)值的文章主要介紹了數(shù)據(jù)庫(kù)分片及其挑戰(zhàn)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

?數(shù)據(jù)庫(kù)分片可以通過(guò)優(yōu)化數(shù)據(jù)分布來(lái)提高可擴(kuò)展性和性能,從而提高效率。數(shù)據(jù)庫(kù)分片是一種有效管理大型數(shù)據(jù)庫(kù)的強(qiáng)大技術(shù)。它將一個(gè)大型數(shù)據(jù)庫(kù)分割成更小、更易管理的部分,稱(chēng)為分片。"分片"一詞恰如其分地描述了將大型數(shù)據(jù)庫(kù)分解為更小、更易管理的片段的方法。分片通常應(yīng)用于數(shù)據(jù)庫(kù)的幾個(gè)原因,包括提高查詢(xún)性能、促進(jìn)數(shù)據(jù)組織和增強(qiáng)可擴(kuò)展性。通過(guò)將數(shù)據(jù)分布在多個(gè)服務(wù)器上,分片可以顯著減少數(shù)據(jù)查詢(xún)的響應(yīng)時(shí)間,提供更有組織的數(shù)據(jù)結(jié)構(gòu),并在數(shù)據(jù)量增長(zhǎng)時(shí)更容易進(jìn)行擴(kuò)展。

數(shù)據(jù)庫(kù)分片及其挑戰(zhàn),數(shù)據(jù)庫(kù),架構(gòu)

上面的圖表展示了一個(gè)分片數(shù)據(jù)庫(kù)的可視化表示。主數(shù)據(jù)庫(kù)被分割成更小的分片,每個(gè)分片都存儲(chǔ)在不同的服務(wù)器上。

數(shù)據(jù)庫(kù)分片的機(jī)制

  • 分片:將一個(gè)大型數(shù)據(jù)庫(kù)分割成更小的片段。每個(gè)分片是一個(gè)獨(dú)立的數(shù)據(jù)庫(kù),包含一組唯一的數(shù)據(jù)。
  • 分布:將分片分布在各個(gè)服務(wù)器上,每個(gè)服務(wù)器都配備自己的資源。諸如數(shù)據(jù)的地理位置、數(shù)據(jù)類(lèi)型或?qū)Ψ制念A(yù)期負(fù)載等因素都可能影響這種分布。
  • 獨(dú)立性:每個(gè)分片都可以獨(dú)立運(yùn)行。因此,在一個(gè)分片上的查詢(xún)不會(huì)影響到另一個(gè)分片上的查詢(xún),從而實(shí)現(xiàn)高并發(fā)和快速查詢(xún)。
  • 可擴(kuò)展性:分片實(shí)現(xiàn)了數(shù)據(jù)庫(kù)的水平擴(kuò)展,即通過(guò)添加更多的服務(wù)器,而不是通過(guò)給單個(gè)服務(wù)器增加更多的資源。這對(duì)于需要處理高流量的大型數(shù)據(jù)庫(kù)特別有益。
  • 故障隔離:如果一個(gè)分片發(fā)生故障,不會(huì)影響其他分片,這樣更容易隔離和解決問(wèn)題。

一個(gè)簡(jiǎn)單的分片實(shí)現(xiàn)

以下代碼片段演示了如何實(shí)現(xiàn)一個(gè)基本的分片實(shí)現(xiàn)。這個(gè)實(shí)現(xiàn)是為了增加理解,而不是用于生產(chǎn)系統(tǒng)。

存儲(chǔ)數(shù)據(jù)

對(duì)于要插入數(shù)據(jù)庫(kù)的任何新數(shù)據(jù),您需要確定將數(shù)據(jù)存儲(chǔ)在哪個(gè)分片上。

def store_data(data):
    # Determine the shard key from the data
    shard_key = get_shard_key(data)
?
    # Determine the shard to store the data in based on the shard key
    shard = get_shard(shard_key)
?
    # Store the data in the determined shard
    shard.store(data)

在這個(gè)例子中,get_shard_key(data)是一個(gè)根據(jù)數(shù)據(jù)確定分片鍵的函數(shù),get_shard(shard_key)是一個(gè)根據(jù)分片鍵確定分片的函數(shù)。我們將在下面進(jìn)一步看到這些函數(shù)的實(shí)現(xiàn)。

檢索數(shù)據(jù)時(shí),我們需要確定從哪個(gè)分片檢索數(shù)據(jù),而無(wú)需遍歷和搜索所有分片。

def retrieve_data(shard_key):
    # Determine the shard to retrieve the data from based on the shard key
    shard = get_shard(shard_key)
?
    # Retrieve the data from the determined shard
    data = shard.retrieve()
?
    return data

確定分片鍵

在兩個(gè)代碼片段的第3行提到的函數(shù)根據(jù)數(shù)據(jù)確定分片鍵。分片鍵是用于確定數(shù)據(jù)應(yīng)該存儲(chǔ)在哪個(gè)分片中的數(shù)據(jù)片段。選擇合適的分片鍵對(duì)分片數(shù)據(jù)庫(kù)的性能至關(guān)重要,因?yàn)樗绊憯?shù)據(jù)在分片之間的分布。常見(jiàn)的方法是對(duì)數(shù)據(jù)中的特定字段使用哈希函數(shù)。例如,如果數(shù)據(jù)是用戶(hù)記錄,可以使用用戶(hù)ID作為分片鍵。哈希函數(shù)將用戶(hù)ID作為輸入,并輸出一個(gè)哈希值,該哈希值被用作分片鍵。

def get_shard_key(data):
    # Use a hash function on the user ID to get the shard key
    shard_key = hash_function(data.user_id)
    return shard_key

根據(jù)分片鍵確定分片的函數(shù)

該函數(shù)根據(jù)分片鍵確定分片。該函數(shù)使用分片鍵選擇適當(dāng)?shù)姆制瑏?lái)存儲(chǔ)或檢索數(shù)據(jù)。常見(jiàn)的策略是使用一致性哈希環(huán),其中每個(gè)分片在環(huán)上被分配一個(gè)哈希值的范圍。該函數(shù)找到包含分片鍵哈希值的范圍的分片。

def get_shard(shard_key):
    # Use the shard key to find the appropriate shard on the consistent hashing ring
    shard = consistent_hashing_ring.find_shard(shard_key)
    return shard

在這個(gè)例子中,有一個(gè)函數(shù)用于找到包含分片鍵哈希值的分片。該函數(shù)的實(shí)現(xiàn)取決于所使用的具體一致性哈希算法。

實(shí)現(xiàn)一致性哈希環(huán)

讓我們考慮一個(gè)簡(jiǎn)單的實(shí)現(xiàn)方式。這個(gè)函數(shù)使用一致性哈希算法來(lái)確定給定分片鍵的適當(dāng)分片。

class ConsistentHashingRing:
    def __init__(self, shards):
        self.shards = shards
        self.ring = {}
?
        for shard in shards:
            hashed_shard = self.hash_function(shard)
            self.ring[hashed_shard] = shard
?
        self.sorted_keys = sorted(self.ring)
?
    def hash_function(self, key):
        return hash(key)
?
    def find_shard(self, shard_key):
        hashed_key = self.hash_function(shard_key)
        for key in self.sorted_keys:
            if hashed_key <= key:
                return self.ring[key]
?
        return self.ring[self.sorted_keys[0]]

該方法初始化了一致性哈希環(huán)。它對(duì)每個(gè)分片進(jìn)行哈希,并將其存儲(chǔ)在一個(gè)字典中(hashed shard作為鍵,分片作為值)。它還將排序后的鍵存儲(chǔ)在self.sorted_keys中。該方法是一個(gè)簡(jiǎn)單的哈希函數(shù),用于對(duì)輸入的鍵進(jìn)行哈希。在實(shí)際應(yīng)用中,您可能會(huì)使用更復(fù)雜的哈希函數(shù),以確保鍵的分布更均勻。該方法找到給定分片鍵的適當(dāng)分片。它對(duì)分片鍵進(jìn)行哈希,然后在排序后的鍵中進(jìn)行迭代,直到找到一個(gè)大于或等于哈希分片鍵的鍵。然后返回相應(yīng)的分片。如果找不到大于或等于哈希分片鍵的鍵,則返回環(huán)中的第一個(gè)分片。這確保該函數(shù)始終返回一個(gè)分片,即使哈希分片鍵大于環(huán)中的所有鍵。

實(shí)施分片的挑戰(zhàn)

  • 重新分片

重新分片是更改數(shù)據(jù)庫(kù)中分片數(shù)量的過(guò)程。當(dāng)數(shù)據(jù)分布不均勻或數(shù)據(jù)庫(kù)顯著增長(zhǎng)或縮小時(shí),通常需要進(jìn)行重新分片。例如,如果一個(gè)分片的數(shù)據(jù)負(fù)載過(guò)重,而其他分片的利用率較低,重新分片可以幫助更均勻地重新分配數(shù)據(jù)。類(lèi)似地,如果數(shù)據(jù)庫(kù)增長(zhǎng)并且當(dāng)前的分片數(shù)量不再足夠,重新分片可以增加分片數(shù)量以提高性能。重新分片可能是一個(gè)復(fù)雜的過(guò)程,因?yàn)樗婕霸诜制g移動(dòng)數(shù)據(jù),同時(shí)確保數(shù)據(jù)庫(kù)保持可用和一致。它通常需要仔細(xì)的規(guī)劃和協(xié)調(diào),并且在重新分片過(guò)程中可能會(huì)導(dǎo)致臨時(shí)性能下降。

  • 數(shù)據(jù)分布

決定一個(gè)分片鍵,以確保數(shù)據(jù)在所有分片之間均勻分布,可能是棘手的。不均勻的數(shù)據(jù)分布可能導(dǎo)致一些分片負(fù)載比其他分片更重,這種情況被稱(chēng)為“熱點(diǎn)”。

  • 復(fù)雜查詢(xún)

分片可能會(huì)使執(zhí)行復(fù)雜的SQL查詢(xún)變得更加困難,因?yàn)橥ǔG闆r下應(yīng)該存在于一個(gè)表中的數(shù)據(jù)被分散在多個(gè)分片中。這可能導(dǎo)致需要更復(fù)雜且潛在較慢的跨節(jié)點(diǎn)連接。

  • 增加的復(fù)雜性

分片為數(shù)據(jù)庫(kù)架構(gòu)增加了額外的復(fù)雜性。它需要仔細(xì)的規(guī)劃和管理,以確保數(shù)據(jù)的一致性和可用性。這也可能使系統(tǒng)更難理解和維護(hù)。

  • 備份和恢復(fù)

在分片數(shù)據(jù)庫(kù)中進(jìn)行數(shù)據(jù)備份和恢復(fù)可能更加復(fù)雜。每個(gè)分片可能需要單獨(dú)備份,并且如果分片不完全同步,將數(shù)據(jù)恢復(fù)到特定時(shí)間點(diǎn)可能具有挑戰(zhàn)性。

  • 事務(wù)管理

在分片數(shù)據(jù)庫(kù)中,對(duì)跨多個(gè)分片的事務(wù)維護(hù)ACID(原子性、一致性、隔離性、持久性)屬性可能具有挑戰(zhàn)性。

  • 模式更改

在分片數(shù)據(jù)庫(kù)中進(jìn)行模式更改可能更加困難,因?yàn)楦谋仨殏鞑サ剿蟹制?/p>

盡管存在這些挑戰(zhàn),分片是管理大規(guī)模數(shù)據(jù)庫(kù)的強(qiáng)大技術(shù)。通過(guò)仔細(xì)的設(shè)計(jì)和管理,可以克服這些挑戰(zhàn),并成功實(shí)施分片以提高數(shù)據(jù)庫(kù)性能和可擴(kuò)展性。

分片管理框架

對(duì)于MySQL和PostgreSQL數(shù)據(jù)庫(kù),有幾個(gè)框架可以幫助進(jìn)行分片管理。以下是一些值得注意的框架:

  • MySQL Cluster:MySQL Cluster可以自動(dòng)透明地在低成本的普通節(jié)點(diǎn)上進(jìn)行分片,允許在不需要對(duì)應(yīng)用程序進(jìn)行更改的情況下進(jìn)行讀寫(xiě)查詢(xún)的擴(kuò)展。
  • MySQL Fabric:作為MySQL實(shí)用工具的一部分,MySQL Fabric提供了對(duì)分片的支持。它幫助管理一組MySQL服務(wù)器,提供高可用性和分片功能。
  • Vitess:Vitess是一個(gè)開(kāi)源的數(shù)據(jù)庫(kù)集群系統(tǒng),用于對(duì)MySQL進(jìn)行分片。它是一個(gè)Cloud Native Computing Foundation項(xiàng)目,提供了部署、擴(kuò)展和管理大型MySQL集群的解決方案。
  • Citus for PostgreSQL:PostgreSQL本身不直接支持分片,但有幾個(gè)擴(kuò)展和第三方解決方案提供了分片功能。其中一些包括Citus,它是一個(gè)將數(shù)據(jù)和查詢(xún)分布在多個(gè)節(jié)點(diǎn)上的擴(kuò)展,以及Postgres-XL,它是一個(gè)完全支持ACID的水平可擴(kuò)展的PostgreSQL變體,包括分片和并行查詢(xún)執(zhí)行。
  • ShardingSphere:ShardingSphere是一個(gè)與數(shù)據(jù)庫(kù)集群系統(tǒng)相關(guān)的框架,提供數(shù)據(jù)分片、分布式事務(wù)和分布式數(shù)據(jù)庫(kù)管理。它是Apache軟件基金會(huì)(ASF)的一個(gè)項(xiàng)目。

這些框架提供了各種功能,簡(jiǎn)化了在數(shù)據(jù)庫(kù)中實(shí)施和管理分片的過(guò)程。它們有助于將數(shù)據(jù)分布在多個(gè)服務(wù)器上,提高性能并確保高可用性。然而,選擇框架取決于數(shù)據(jù)庫(kù)系統(tǒng)的具體要求和所支持的應(yīng)用程序。

結(jié)論

分片是管理大型數(shù)據(jù)庫(kù)的一種強(qiáng)大技術(shù)。盡管它帶來(lái)了一系列挑戰(zhàn),但通過(guò)仔細(xì)的規(guī)劃和實(shí)施,可以確保有效的數(shù)據(jù)分布和優(yōu)化的性能。當(dāng)正確執(zhí)行時(shí),它可以顯著提高數(shù)據(jù)庫(kù)的可擴(kuò)展性和性能。在實(shí)施分片解決方案時(shí)存在固有的挑戰(zhàn)。一個(gè)挑戰(zhàn)是如果數(shù)據(jù)分布不均衡,需要經(jīng)常進(jìn)行重新分片以平衡數(shù)據(jù)。因此,建議在數(shù)據(jù)庫(kù)中使用現(xiàn)有的分片實(shí)現(xiàn)框架 。

作者:Faheem Sohail

更多技術(shù)干貨請(qǐng)關(guān)注公號(hào)“云原生數(shù)據(jù)庫(kù)

squids.cn,目前可體驗(yàn)全網(wǎng)zui低價(jià)RDS,免費(fèi)的遷移工具DBMotion、SQL開(kāi)發(fā)工具等文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-525331.html

到了這里,關(guān)于數(shù)據(jù)庫(kù)分片及其挑戰(zhàn)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶(hù)投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 詳解數(shù)據(jù)庫(kù)分片,大幅提升Spring Boot查詢(xún)MySQL性能

    詳解數(shù)據(jù)庫(kù)分片,大幅提升Spring Boot查詢(xún)MySQL性能

    微服務(wù)項(xiàng)目中通常包含各種服務(wù)。其中一項(xiàng)服務(wù)與存儲(chǔ)用戶(hù)相關(guān)的數(shù)據(jù)有關(guān)。我們使用Spring Boot作為后端,使用MySQL數(shù)據(jù)庫(kù)。 隨著用戶(hù)基數(shù)的增長(zhǎng),服務(wù)性能受到了影響,延遲也上升了。由于只有一個(gè)數(shù)據(jù)庫(kù)和一張表,許多查詢(xún)和更新由于鎖異常返回錯(cuò)誤。此外,隨著數(shù)據(jù)庫(kù)

    2024年01月16日
    瀏覽(26)
  • ElasticSearch數(shù)據(jù)庫(kù)修改分片數(shù)、副本數(shù)及修改mapping字段

    ElasticSearch數(shù)據(jù)庫(kù)修改分片數(shù)、副本數(shù)及修改mapping字段

    ????????對(duì)于已經(jīng)存在的索引,副本數(shù)可以隨時(shí)修改。 示例演示如下: ????????ElasticSearch中的數(shù)據(jù)會(huì)被分別存儲(chǔ)在不同的分片上,索引庫(kù)的分片數(shù)量是在索引庫(kù)創(chuàng)建的時(shí)候通過(guò)settings去設(shè)置的,如果不設(shè)置,分片數(shù)默認(rèn)是5,分片數(shù)一旦確定就不能改變。分片數(shù)量的設(shè)

    2024年02月02日
    瀏覽(19)
  • Sharding-JDBC 自定義一致性哈希算法 + 虛擬節(jié)點(diǎn) 實(shí)現(xiàn)數(shù)據(jù)庫(kù)分片策略

    分片操作是分片鍵 + 分片算法,也就是分片策略。目前Sharding-JDBC 支持多種分片策略: 標(biāo)準(zhǔn)分片策略 對(duì)應(yīng)StandardShardingStrategy。提供對(duì)SQL語(yǔ)句中的=, IN和BETWEEN AND的分片操作支持。 復(fù)合分片策略 對(duì)應(yīng)ComplexShardingStrategy。復(fù)合分片策略。提供對(duì)SQL語(yǔ)句中的=, IN和BETWEEN AND的分片操作

    2024年02月02日
    瀏覽(97)
  • 華為云數(shù)據(jù)庫(kù)首席專(zhuān)家談分布式數(shù)據(jù)應(yīng)用挑戰(zhàn)和發(fā)展建議

    摘要: 本文分析了分布式數(shù)據(jù)庫(kù)發(fā)展情況、分布式數(shù)據(jù)庫(kù)應(yīng)用的主要問(wèn)題,從行業(yè)應(yīng)用的角度給出了分布式數(shù)據(jù)庫(kù)發(fā)展的建議。 本文分享自華為云社區(qū) 《數(shù)字化轉(zhuǎn)型下我國(guó)分布式數(shù)據(jù)庫(kù)應(yīng)用挑戰(zhàn)及發(fā)展建議 》,作者:數(shù)據(jù)庫(kù)領(lǐng)域科學(xué)家、華為云數(shù)據(jù)庫(kù)GaussDB首席專(zhuān)家 馮柯。

    2024年02月03日
    瀏覽(21)
  • 近日遇到數(shù)據(jù)庫(kù)及其他問(wèn)題

    使用 以下語(yǔ)句,在上億數(shù)據(jù)的表中執(zhí)行速度較慢 可使用下面兩種方式 或者 在編譯完class文件,替換war包里面對(duì)應(yīng)class文件后,報(bào)Could not reload resource bundles java.lang.NoSuchFieldException: cacheList,找不到對(duì)應(yīng)action,在網(wǎng)上查找資料,發(fā)現(xiàn)可能是JDK版本問(wèn)題,原來(lái)使用JDK8 編譯有問(wèn)題,

    2024年02月01日
    瀏覽(22)
  • 2小時(shí)解不完的數(shù)據(jù)庫(kù)練習(xí)題,來(lái)挑戰(zhàn)一下吧!

    2小時(shí)解不完的數(shù)據(jù)庫(kù)練習(xí)題,來(lái)挑戰(zhàn)一下吧!

    我已經(jīng)記不起來(lái),有多久沒(méi)更新文章了。 5月中旬我還在上班,中旬以后一系列發(fā)生的事情,真的遠(yuǎn)遠(yuǎn)超出了可承受范圍,只能硬著頭皮面對(duì)! 我是誰(shuí),我應(yīng)該是誰(shuí),又能怎樣,只能向前····· class表 course表 score表 student表 teacher表 1、查詢(xún)所有的課程的名稱(chēng)以及對(duì)應(yīng)的任課

    2024年02月09日
    瀏覽(22)
  • MySQL查詢(xún)數(shù)據(jù)庫(kù)所有表名及其注釋

    1 查詢(xún) 數(shù)據(jù)庫(kù) 所有表 select table_name? from? information_schema.tables? where? table_schema=\\\'sdam\\\' 2 查詢(xún)數(shù)據(jù)庫(kù)所有表 和表的?注釋 SELECT TABLE_NAME, TABLE_COMMENT from ?information_schema.tables? WHERE TABLE_SCHEMA = \\\'dam\\\'? ORDER BY TABLE_NAME; 3?查詢(xún)數(shù)據(jù)庫(kù) 單個(gè)表名所有表?注釋 SELECT COLUMN_NAME 字段,column_com

    2024年02月10日
    瀏覽(33)
  • 【數(shù)據(jù)庫(kù)】詳解數(shù)據(jù)庫(kù)架構(gòu)優(yōu)化思路(兩主架構(gòu)、主從復(fù)制、冷熱分離)

    【數(shù)據(jù)庫(kù)】詳解數(shù)據(jù)庫(kù)架構(gòu)優(yōu)化思路(兩主架構(gòu)、主從復(fù)制、冷熱分離)

    對(duì)數(shù)據(jù)庫(kù)架構(gòu)進(jìn)行優(yōu)化是為了提高數(shù)據(jù)庫(kù)系統(tǒng)的性能、可擴(kuò)展性、穩(wěn)定性和可維護(hù)性。MySQL官方說(shuō):?jiǎn)伪?000萬(wàn)數(shù)據(jù),性能就達(dá)到瓶頸了,為了保證查詢(xún)效率需要讓每張表的大小得到控制。 再來(lái)說(shuō),為什么要提高查詢(xún)效率呢? 除了普通的用戶(hù)查詢(xún)操作,增、刪、改操作都包含

    2024年02月11日
    瀏覽(22)
  • 了解您的數(shù)據(jù)庫(kù)管理系統(tǒng)及其優(yōu)化器

    了解您的數(shù)據(jù)庫(kù)管理系統(tǒng)及其優(yōu)化器

    模式 物品具有唯一標(biāo)識(shí)符、唯一圖像標(biāo)識(shí)符、名稱(chēng)和價(jià)格。 倉(cāng)庫(kù)具有唯一標(biāo)識(shí)符、名稱(chēng)以及由街道、城市和國(guó)家定義的位置。 對(duì)于每個(gè)可用的物品,我們記錄每個(gè)倉(cāng)庫(kù)中的庫(kù)存數(shù)量。如果某個(gè)物品在倉(cāng)庫(kù)中不可用,則這對(duì)沒(méi)有記錄。數(shù)量總是等于或大于1。 PostgreSQL 內(nèi)部 在

    2024年02月21日
    瀏覽(18)
  • Sql Server中查詢(xún)數(shù)據(jù)庫(kù)所有表及其數(shù)據(jù)總條數(shù)和占用空間

    1、查詢(xún)某數(shù)據(jù)庫(kù)中的所有數(shù)據(jù)表 SELECT name 數(shù)據(jù)表 FROM sysobjects WHERE xtype=\\\'u\\\' ORDER BY name 2、查詢(xún)某數(shù)據(jù)庫(kù)中的所有數(shù)據(jù)表及其數(shù)據(jù)總條數(shù) SELECT a.name 數(shù)據(jù)表, b.rows 數(shù)據(jù)總條數(shù) FROM sysobjects AS a INNER JOIN sysindexes AS b ON a.id = b.id WHERE ( a.type = \\\'u\\\' ) AND ( b.indid IN ( 0, 1 ) ) ORDER BY a.name,b.row

    2024年02月02日
    瀏覽(29)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包