精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

從30秒到300毫秒!EF Core查詢優化終極指南

開發 前端
優化EF Core查詢是構建高性能應用的重要方面。通過運用本文討論的技術,如延遲加載與預加載、投影優化、批量操作、索引優化、使用原生SQL查詢、優化LINQ查詢、啟用緩存、監控和調優等,開發者可顯著提升EF Core查詢性能,實現高效數據訪問層。

在數據驅動的應用程序領域,高效的數據庫查詢是性能的基石。Entity Framework Core(EF Core)作為 .NET生態系統中強大的對象關系映射(ORM)框架,使開發者能夠用 .NET對象與數據庫交互。然而,若使用不當,EF Core查詢可能導致性能瓶頸。本文深入探討EF Core查詢優化的關鍵技術,通過實際C#代碼示例闡釋每種優化策略,助您構建高性能的數據訪問層。

理解EF Core查詢執行

在深入優化技術前,先理解EF Core如何執行查詢。當用LINQ編寫EF Core查詢時,EF Core將其轉換為SQL語句,發送到數據庫執行。查詢執行分幾步:

  1. LINQ翻譯:EF Core將LINQ表達式樹轉換為SQL語句。此過程中,EF Core分析LINQ操作,如過濾、排序、連接,生成等效SQL。
  2. 數據庫通信:生成的SQL語句發送到數據庫。EF Core管理與數據庫的連接,處理數據傳輸。
  3. 結果處理:數據庫返回結果集,EF Core將其轉換為.NET對象。此步驟涉及實體追蹤(若啟用),EF Core跟蹤對象狀態變化,以便后續更新數據庫。

理解此過程對優化EF Core查詢至關重要。通過優化各階段,可顯著提升查詢性能。

EF Core查詢優化技術

1. 延遲加載與預加載

EF Core提供延遲加載和預加載機制,加載相關實體。理解何時用哪種策略對優化查詢性能很重要。

延遲加載:延遲加載是EF Core在訪問導航屬性時自動加載相關實體的功能。例如,有AuthorBook實體,AuthorBooks導航屬性:

public classAuthor
{
    publicint Id { get; set; }
    publicstring Name { get; set; }
    publicvirtual ICollection<Book> Books { get; set; }
}

publicclassBook
{
    publicint Id { get; set; }
    publicstring Title { get; set; }
    publicint AuthorId { get; set; }
    publicvirtual Author Author { get; set; }
}

默認啟用延遲加載時,訪問Author.Books屬性,EF Core自動執行額外查詢加載作者的書籍:

using (var context = new BookContext())
{
    var author = context.Authors.FirstOrDefault(a => a.Id == 1);
    var books = author.Books; // 觸發額外查詢加載書籍
}

盡管方便,延遲加載在某些場景會導致性能問題,尤其處理大量實體時,導致“N + 1”查詢問題。例如,檢索多個作者及其書籍:

using (var context = new BookContext())
{
    var authors = context.Authors.ToList();
    foreach (var author in authors)
    {
        var books = author.Books; // 每個作者觸發額外查詢加載書籍
    }
}

此例中,一次查詢檢索作者,然后為每個作者執行額外查詢加載書籍,導致大量數據庫查詢,降低性能。

預加載:預加載(也叫急加載)是用Include方法在單個查詢中加載相關實體的技術。用Include可指定要包含在查詢結果中的相關數據,避免“N + 1”查詢問題。例如,檢索作者及其書籍:

using (var context = new BookContext())
{
    var authors = context.Authors
        .Include(a => a.Books)
        .ToList();
}

此查詢中,EF Core生成單個SQL查詢,用JOIN操作檢索作者及其書籍,顯著減少數據庫查詢次數,提升性能。

何時使用:

  • 延遲加載:適用于只在特定場景需要相關數據,且不頻繁訪問的情況。例如,用戶資料頁面,只在用戶點擊“查看更多”按鈕時才加載額外信息。
  • 預加載:適用于需要同時獲取主實體及其相關實體的場景,如顯示訂單及其訂單項。

2. 投影優化

投影是用Select方法只檢索需要的屬性,而非整個實體的技術。通過減少從數據庫檢索的數據量,可提升查詢性能,減少內存占用。

例如,有Product實體:

public class Product
{
    public int Id { get; set; }
    public string Name { get; set; }
    public decimal Price { get; set; }
    public string Description { get; set; }
    // 更多屬性...
}

若只需要產品名稱和價格,可使用投影:

using (var context = new ProductContext())
{
    var products = context.Products
        .Select(p => new
         {
             p.Name,
             p.Price
         })
        .ToList();
}

此查詢中,EF Core生成SQL查詢,只選擇NamePrice列,減少從數據庫檢索的數據量,加快查詢速度。

投影在處理大數據集或傳輸數據到客戶端時特別有用,可減少網絡流量,提升應用響應性。

3. 批量操作

EF Core默認一次插入、更新或刪除一個實體,頻繁與數據庫交互,在處理大量實體時導致性能問題。為解決此問題,可使用批量操作減少數據庫往返次數。

批量插入:用AddRange方法批量插入多個實體:

using (var context = new ProductContext())
{
    var newProducts = new List<Product>
    {
        new Product { Name = "Product 1", Price = 10.99m },
        new Product { Name = "Product 2", Price = 19.99m },
        // 更多產品...
    };

    context.Products.AddRange(newProducts);
    context.SaveChanges();
}

AddRange方法將多個實體添加到上下文,SaveChanges方法生成單個SQL語句插入所有實體,而非為每個實體生成單獨的插入語句。

批量更新和刪除:EF Core本身不直接支持批量更新和刪除,但可使用第三方庫,如Z.EntityFramework.Plus.EFCore實現。例如,用此庫批量更新產品價格:

using (var context = new ProductContext())
{
    context.Products
       .Where(p => p.CategoryId == 1)
       .Update(p => new Product { Price = p.Price * 1.1m });
}

此代碼中,Update方法生成單個SQL語句更新所有符合條件的產品價格,顯著提升批量更新操作的性能。

4. 索引優化

索引是數據庫性能優化的基礎,EF Core查詢也不例外。確保數據庫表中的相關列有適當索引,可顯著加快查詢速度。

例如,有按產品名稱搜索產品的查詢:

using (var context = new ProductContext())
{
    var products = context.Products
       .Where(p => p.Name.Contains("keyword"))
       .ToList();
}

Name列沒有索引,數據庫需掃描整個表查找匹配產品,大數據集下會很慢。通過在Name列創建索引,可顯著提升查詢性能:

protected override void OnModelCreating(ModelBuilder modelBuilder)
{
    modelBuilder.Entity<Product>()
       .HasIndex(p => p.Name);
}

此代碼在Product表的Name列創建索引,數據庫可更高效查找匹配產品,加快查詢速度。

注意,雖然索引可提升查詢性能,但也增加存儲和維護成本。因此,只在經常用于查詢條件或連接鍵的列上創建索引。

5. 使用原生SQL查詢

在某些復雜場景下,LINQ查詢生成的SQL可能不夠高效。此時,可使用原生SQL查詢提高性能。EF Core提供FromSqlRawExecuteSqlRaw方法執行原生SQL查詢和命令。

例如,有復雜查詢,LINQ難以表達,可使用原生SQL:

using (var context = new ProductContext())
{
    var products = context.Products
       .FromSqlRaw("SELECT * FROM Products WHERE Price > {0}", 50)
       .ToList();
}

此代碼中,FromSqlRaw方法執行原生SQL查詢,返回價格大于50的產品。注意,使用原生SQL查詢時,需確保查詢參數化,避免SQL注入攻擊。

原生SQL查詢在性能關鍵場景或需利用數據庫特定功能(EF Core LINQ不支持)時很有用。但應謹慎使用,因為會降低代碼可移植性和可讀性。

6. 優化LINQ查詢

LINQ查詢在EF Core中轉換為SQL語句執行。因此,優化LINQ查詢對提升性能很重要。

避免在內存中過濾:盡量在數據庫層面完成過濾和排序操作,而非在內存中。例如:

// 低效的查詢:在內存中進行過濾
var products = context.Products
   .ToList()
   .Where(p => p.Price > 50)
   .ToList();

// 高效的查詢:在數據庫中進行過濾
var products = context.Products
   .Where(p => p.Price > 50)
   .ToList();

第一個查詢檢索所有產品到內存,然后在內存中過濾,大數據集下效率低。第二個查詢在數據庫層面過濾,只檢索符合條件的產品,性能更好。

使用正確的LINQ方法:選擇合適的LINQ方法可提升查詢性能。例如,用FirstOrDefaultAsync而非FirstOrDefault進行異步查詢,提升高負載場景下應用性能:

// 異步查詢
var product = await context.Products
   .FirstOrDefaultAsync(p => p.Id == 1);

// 同步查詢
var product = context.Products
   .FirstOrDefault(p => p.Id == 1);

異步方法在高并發場景釋放線程資源,提升應用響應性。

7. 啟用緩存

頻繁數據庫讀操作會導致性能問題。為緩解此問題,可在EF Core中啟用緩存機制,減少數據庫負載。

例如,用MemoryCache作為緩存工具,緩存查詢結果:

using Microsoft.Extensions.Caching.Memory;

publicclassProductService
{
    privatereadonly ProductContext _context;
    privatereadonly IMemoryCache _memoryCache;

    public ProductService(ProductContext context, IMemoryCache memoryCache)
    {
        _context = context;
        _memoryCache = memoryCache;
    }

    publicasync Task<List<Product>> GetProductsAsync()
    {
        var cacheKey = "products";
        if (!_memoryCache.TryGetValue(cacheKey, out List<Product> products))
        {
            products = await _context.Products.ToListAsync();
            _memoryCache.Set(cacheKey, products, TimeSpan.FromMinutes(10));
        }

        return products;
    }
}

此代碼中,GetProductsAsync方法先檢查緩存中是否存在產品列表,存在則直接返回,避免數據庫查詢。否則,從數據庫檢索產品,緩存結果,下次查詢可直接從緩存獲取。

緩存對頻繁查詢且數據更新不頻繁的場景特別有用,可顯著減少數據庫負載,提升應用性能。

8. 監控和調優

優化EF Core查詢時,監控和分析查詢性能很重要。EF Core提供日志記錄功能,可記錄查詢執行細節,包括生成的SQL語句、查詢參數、執行時間。

例如,在ASP.NET Core應用中,可在appsettings.json文件中配置EF Core日志記錄:

{
    "Logging": {
        "LogLevel": {
            "Default": "Information",
            "Microsoft.EntityFrameworkCore": "Information"
        }
    }
}

此配置將EF Core日志記錄級別設置為Information,記錄查詢執行相關信息。可在應用日志中查看生成的SQL語句和執行時間,分析性能瓶頸。

此外,還可使用第三方性能監控工具,如SQL Server Profiler、EF Core Profiler,更深入分析查詢性能。這些工具提供詳細性能指標,如查詢執行計劃、資源使用情況,助您識別和優化低效查詢。

結論

優化EF Core查詢是構建高性能應用的重要方面。通過運用本文討論的技術,如延遲加載與預加載、投影優化、批量操作、索引優化、使用原生SQL查詢、優化LINQ查詢、啟用緩存、監控和調優等,開發者可顯著提升EF Core查詢性能,實現高效數據訪問層。

記住,性能優化是持續過程,需根據應用具體需求和性能瓶頸不斷調整策略。通過結合實際情況不斷探索和實踐,可找到最適合的調優方案,構建高效可靠的應用。

希望這篇指南能讓你對EF Core查詢優化有全面了解。如果你在實際應用中遇到特定的性能問題,或者對其中某一種優化策略想深入探討,歡迎分享,咱們可以進一步交流如何將這些優化技巧應用到你的項目中。

責任編輯:武曉燕 來源: 程序員編程日記
相關推薦

2025-06-25 09:30:14

2013-11-11 11:17:45

AngularJS性能優化

2025-08-18 03:00:22

Spring樹形結構分類樹

2025-03-27 00:14:10

2024-11-08 15:08:17

2021-04-27 06:20:25

MySQL集群優化

2019-08-21 14:35:18

壓縮文件優化過程Java

2024-04-10 08:00:00

PostgresNoSQL

2020-11-12 18:51:43

Java編程語言

2025-03-24 08:51:16

2017-12-25 11:15:06

JavaArray數組

2025-10-27 02:11:00

2022-09-26 09:41:25

MySQL數據庫

2017-05-31 13:58:05

戴爾宕機服務器

2012-03-11 15:27:57

微軟

2021-05-19 15:35:19

數據庫工具技術

2019-01-30 09:34:56

ElasticSearLogstashKibana

2021-04-22 07:29:46

數據展現方式

2017-10-31 15:28:27

RUDP傳輸優化實踐

2023-12-05 18:00:27

MySQLSQL
點贊
收藏

51CTO技術棧公眾號

国产精品久久久久久9999| 国产一区二区三区四区hd| 中文国语毛片高清视频| 久久久精品一区二区毛片免费看| 亚洲欧洲另类国产综合| 99国内精品久久久久久久软件| 日韩精品一区二区不卡| 国产精品羞羞答答在线观看 | 亚洲mv在线看| 999免费视频| 亚洲欧美春色| 久久在线免费观看视频| 黄色a一级视频| 96sao精品免费视频观看| 午夜精品一区二区三区电影天堂| 欧美日韩一区二| 国产女无套免费视频| 亚洲综合精品四区| 欧美裸体xxxx极品少妇| 国精产品一区二区三区| 91国内精品| 欧美性大战久久久久久久| 亚洲小说欧美另类激情| 日本大片在线观看| 国产成人综合自拍| 日本不卡视频在线播放| 欧美黄片一区二区三区| 成人嫩草影院| 亚洲免费福利视频| 中文字幕18页| 久久久久九九精品影院| 欧美亚一区二区| 亚洲美免无码中文字幕在线| 成人欧美在线| 国产亚洲欧美日韩在线一区| 99www免费人成精品| 波多野结衣小视频| 亚洲欧洲综合| 亚洲石原莉奈一区二区在线观看| 岛国大片在线免费观看| 日韩av中字| 亚洲自拍偷拍图区| 一级做a爰片久久| 青青草免费观看免费视频在线| 国产毛片精品国产一区二区三区| 欧美专区日韩视频| 国产精品23p| 91精品一区二区三区综合在线爱| 亚洲欧美国产视频| 高清中文字幕mv的电影| 久久久久久亚洲精品美女 | 激情五月色婷婷| 中文字幕一区二区三区在线视频| 日韩精品视频在线观看网址| 任你躁av一区二区三区| 国产欧美日韩电影| 色综合久久66| 国产97在线 | 亚洲| 免费在线播放电影| 一二三区精品视频| 国产成人精品免费看在线播放| 欧美3p视频在线观看| xnxx国产精品| 九九99玖玖| 欧美亚洲精品在线观看| 成人午夜av在线| 亚洲影院高清在线| 国产精品国产三级国产普通话对白| 日韩精品高清不卡| 国产成人av在线播放| 黑人一级大毛片| 99精品福利视频| 久久人人爽人人爽人人片av高请 | 中文字幕日韩久久| 日本免费成人| 6080yy午夜一二三区久久| 一女二男3p波多野结衣| 人人精品久久| 91麻豆精品久久久久蜜臀| 亚洲欧美日韩一二三区| 日韩不卡在线视频| 日韩女优av电影在线观看| 欧美一区二区三区影院| 91成人精品在线| 欧美高清性hdvideosex| 在线不卡一区二区三区| 亚洲天堂网站| 欧美一区二区女人| 国产清纯白嫩初高中在线观看性色| ccyy激情综合| 亚洲精品一区久久久久久| 久久久久久久久免费看无码 | 激情小说亚洲一区| 91九色在线观看| 国精产品乱码一区一区三区四区| 成人午夜视频网站| 欧美成人综合一区| 在线观看免费黄视频| 亚洲欧美激情插| 日韩av高清在线看片| 亚洲四虎影院| 日韩精品中文字幕在线不卡尤物| 精品一区二区视频在线观看| 一区二区美女| 美女精品久久久| 国产午夜在线播放| 秋霞影院一区二区| 91久久国产综合久久蜜月精品 | 午夜欧美激情| 欧美性大战久久| 精品国产一二区| 免费精品国产的网站免费观看| 中文字幕亚洲欧美一区二区三区 | 天天综合网天天综合色| 久久婷婷综合色| 成人涩涩网站| 中文字幕免费精品一区| 五月天综合在线| 久久久久久久高潮| 成人动漫视频在线观看免费| 国产人成在线观看| 一区二区三区在线观看网站| 亚洲人成色77777| 亚洲91网站| 一区三区二区视频| 日韩精品一区二区在线播放 | 精品美女久久久久久免费| 看欧美ab黄色大片视频免费| 一区二区中文字幕在线观看| 亚洲最新中文字幕| 日本少妇激情视频| 极品少妇一区二区三区精品视频| 久久精品国产综合精品 | 亚洲人123区| 欧美污视频网站| 精品国产亚洲一区二区三区大结局 | 国产高清精品二区| 亚洲人成在线观| 国产乱码久久久久久| 国内精品自线一区二区三区视频| 欧美性色黄大片人与善| heyzo高清国产精品| 欧美巨大另类极品videosbest| 素人fc2av清纯18岁| 亚洲精华国产欧美| 99久久免费国| h片在线观看网站| 欧美日韩在线直播| 中文字幕在线看高清电影| 激情视频一区二区三区| 亚洲综合色激情五月| 最新电影电视剧在线观看免费观看| 高跟丝袜欧美一区| 亚洲啪av永久无码精品放毛片 | 91香蕉视频mp4| 国产精品日韩三级| 国模大尺度视频一区二区| 中文字幕亚洲综合| 一区二区三区麻豆| 欧美国产精品一区| 人人爽人人av| 欧美猛男同性videos| 欧美在线视频在线播放完整版免费观看 | 国产精品电影网站| 国内精品在线视频| 色88888久久久久久影院野外| 五级黄高潮片90分钟视频| 午夜在线精品偷拍| 国产乱码精品一区二区三区不卡| 大黄网站在线观看| 欧美一区二区私人影院日本| 爱爱视频免费在线观看| 国产精品123区| 97在线国产视频| 红杏视频成人| …久久精品99久久香蕉国产| 亚洲av成人精品一区二区三区在线播放 | 日韩一区三区| 成人免费淫片aa视频免费| 欧美日本一道| 日韩欧美视频在线| 日本视频www| 26uuu亚洲| 五月天婷婷激情视频| 欧洲激情视频| 成人精品一区二区三区| yellow91字幕网在线| 欧美成人在线直播| 国产无码精品一区二区| 99精品在线观看视频| 日韩中文字幕组| 国产精品黑丝在线播放| 99在线观看视频| 电影在线观看一区| 亚洲国产小视频| 免费黄色网址在线| 中文字幕一区二区三| 欧美久久久久久久久久久| 性一交一乱一区二区洋洋av| 亚洲一区二区三区在线观看视频| 久久伊人影院| 91wwwcom在线观看| jizz在线观看中文| 欧美xfplay| 欧美国产一级片| 亚洲人精品午夜| 粉嫩av懂色av蜜臀av分享| 日本成人中文字幕在线视频| 国产在线观看欧美| 少妇精品久久久一区二区| 亚洲综合在线做性| 高清不卡亚洲| 久久精品99无色码中文字幕 | 久久免费公开视频| 久久午夜免费电影| 亚洲精品国产久| 久久精品首页| 免费看日本黄色| 成人精品亚洲| 国产亚洲欧美另类一区二区三区| 国产精品99| 91精品国产沙发| 成人日批视频| 伊人久久男人天堂| 日韩一级片免费在线观看| 欧美日韩久久不卡| 国产精品视频免费播放| 亚洲一区二区影院| 麻豆视频在线免费看| 国产三级精品三级在线专区| aaa黄色大片| 激情久久五月天| 午夜视频在线瓜伦| 在线综合欧美| 欧美中文字幕在线观看视频| 欧美色图一区| 久久精品久久精品国产大片| 白嫩白嫩国产精品| 91在线视频成人| 韩国精品主播一区二区在线观看| 欧美肥婆姓交大片| 在线观看二区| 国产性色av一区二区| 天堂在线免费av| 亚洲精品一区二区在线观看| 国产手机精品视频| 欧美日韩国产经典色站一区二区三区 | 日日摸日日碰夜夜爽无码| 亚洲国产一成人久久精品| 天堂√在线观看一区二区| 欧美日韩爱爱| 久久久一本精品99久久精品66| 成人直播在线观看| 99精彩视频在线观看免费| 91成人app| 国产精品一区二区久久久久| 亚洲mmav| 国产精品老牛影院在线观看| 在线观看爽视频| 韩国福利视频一区| 欧美人与禽性xxxxx杂性| 日韩在线免费观看视频| 日本精品在线| 久久精品福利视频| 国产最新在线| 久久精品欧美视频| 黄网站免费在线播放| 久久婷婷国产麻豆91天堂| 黄色网页在线免费观看| 超碰日本道色综合久久综合| www视频在线看| 色综合视频网站| 成人福利影视| 青青草精品毛片| 欧美大片免费观看网址| 26uuu亚洲国产精品| 制服丝袜专区在线| 国产精品久久久久久久久借妻| 精品视频在线一区二区在线| 国产日韩av在线播放| 国产中文欧美日韩在线| 国产精品香蕉视屏| 日韩精品免费一区二区三区竹菊 | 亚洲欧洲在线一区| 国产精品久久久久蜜臀 | 91久久在线观看| 中文字幕一区图| 久久亚洲免费| 日韩中文字幕高清在线观看| 综合网五月天| 亚洲精品一级| 精品久久久久久久无码| 精品一区二区影视| 91传媒理伦片在线观看| 成a人片国产精品| 男生草女生视频| 国产欧美一区二区在线观看| 亚洲图片第一页| 一区二区三区波多野结衣在线观看| 国产精品theporn动漫| 色婷婷综合激情| 国产超碰人人模人人爽人人添| 亚洲精品电影在线| 三区四区在线视频| 午夜精品视频在线| 97精品国产综合久久久动漫日韩| 91久久久久久久久久久久久| 亚洲另类av| 久久国产精品免费观看| 欧美亚洲免费| 佐山爱在线视频| 久久九九久久九九| 国产一级视频在线观看| 欧美图片一区二区三区| 动漫av一区二区三区| 中文字幕欧美日韩精品| 大桥未久在线播放| 国产欧美日韩视频| 超碰精品在线观看| av不卡在线免费观看| 一区二区三区福利| 日韩成人av免费| 久久无码av三级| 国产无精乱码一区二区三区| 欧美高清www午色夜在线视频| 四虎在线观看| 欧美日韩国产成人在线| 中韩乱幕日产无线码一区| 国产亚洲二区| 欧美天天在线| 亚洲国产日韩欧美在线观看| 91玉足脚交白嫩脚丫在线播放| 日韩影院一区二区| 欧美亚一区二区| 蜜桃免费在线| 97超碰国产精品女人人人爽| 亚洲精品午夜| 国产又粗又大又爽的视频| 日本欧美一区二区| 美女久久久久久久久久| 亚洲女同女同女同女同女同69| 91在线精品入口| 综合网日日天干夜夜久久| 免费成人直播| 久久久久资源| 一区二区三区国产在线| 一级黄色片毛片| 亚洲国产成人porn| 精品人妻av一区二区三区| www.日韩免费| 欧美综合社区国产| 亚洲精品日韩精品| 奇米色777欧美一区二区| 亚洲精品午夜视频| 日韩欧美视频一区二区三区| 欧美一级特黄aaaaaa| 久久久亚洲精选| 免费福利视频一区| 国产中文字幕二区| 99久久亚洲一区二区三区青草| 国产亚洲精久久久久久无码77777| 欧美日韩一级二级| 香蕉视频911| 国产精品成人一区二区三区吃奶| 亚洲三级网页| 国产真实乱子伦| 国产午夜亚洲精品理论片色戒| 草莓视频18免费观看| 亚洲最新视频在线| 亚洲精品乱码日韩| 91香蕉视频网址| 国产高清成人在线| 亚洲国产成人精品综合99| 亚洲成色777777女色窝| gogo高清午夜人体在线| 国产一区二区在线观看免费播放| 亚洲先锋成人| 日韩少妇一区二区| 色婷婷国产精品久久包臀| 国产黄在线观看免费观看不卡| 国产精品午夜国产小视频| 五月激情久久久| 久久久久亚洲av无码专区首jn| 亚洲欧美区自拍先锋| 五月天福利视频| 国产精品久久久久久搜索| 99久久久久| 中文字幕99页| 日韩欧美成人免费视频| a视频网址在线观看| 91在线国产电影| 亚洲狼人精品一区二区三区| 人体私拍套图hdxxxx| 欧美日韩日日骚| 免费网站在线观看人| 久久影视中文粉嫩av| 久久99久久久久久久久久久| 久久免费公开视频| 国产一区二区美女视频| 日本精品在线观看|