用Jquery dataTable, 但頁面上資料過多, 載入頁面是會提示stop plugin. 如何提高效率.

來源:互聯網
上載者:User

使用的架構是symfony, twig.
頁面大約有6000條資料需要現實, 我是全部資料載入後使用dataTable來分頁, 同時查詢.
但是在載入時明顯會卡住, 偶爾還會跳出busy 是否continue 或 stop script的confirm窗.

記憶體使用量在67MB左右.

這是後台代碼

public function indexAction(){    $em = $this->getDoctrine()->getManager();    $qb = $em->createQueryBuilder();    $qb->select('p.id, p.name as pname, wave.name as wname')            ->from('AlbatrossAceBundle:Project', 'p')            ->leftJoin('p.customwave', 'wave');    $result = $qb->getQuery()->getArrayResult();    return $this->render('AlbatrossAceBundle:Project:index.html.twig', array(        'entities' => $result,    ));}

這是我的dataTable配置

不想在後台分頁, 非常中意前端分頁和查詢. 請問有什麼方法提高效率呢?

回複內容:

使用的架構是symfony, twig.
頁面大約有6000條資料需要現實, 我是全部資料載入後使用dataTable來分頁, 同時查詢.
但是在載入時明顯會卡住, 偶爾還會跳出busy 是否continue 或 stop script的confirm窗.

記憶體使用量在67MB左右.

這是後台代碼

public function indexAction(){    $em = $this->getDoctrine()->getManager();    $qb = $em->createQueryBuilder();    $qb->select('p.id, p.name as pname, wave.name as wname')            ->from('AlbatrossAceBundle:Project', 'p')            ->leftJoin('p.customwave', 'wave');    $result = $qb->getQuery()->getArrayResult();    return $this->render('AlbatrossAceBundle:Project:index.html.twig', array(        'entities' => $result,    ));}

這是我的dataTable配置

不想在後台分頁, 非常中意前端分頁和查詢. 請問有什麼方法提高效率呢?

謝邀。

建議後端分頁。

6000條資料無論對於前端還是後端來說都過於巨大了,這不是中意不中意的問題,這是能做不能做的問題,答案也很簡單,不能做。

如果真的有6000條資料要用js來處理,寫原生js可能會提高一部分效率,假使目前js引擎的速度都提高10倍,前端OK了,後端如此大的資料量也會在個位元並發的時候直接拖垮資料庫。

寫代碼是為瞭解決問題,而不是為了個人感覺爽。

一次性載入6000條資料,在前端分頁,不是違反最佳實務,而從根本上就是個錯誤的設計。

應該是有問題的,能不能查看是否代碼有問題,或者這個外掛程式有可能有記憶體泄露等bug。
呵呵,78MB,感覺有點...

用過前端緩衝4000條資料,用的是taffy-db,無壓力。

請問你6000條怎樣的資料?? 是JSON嗎?

  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.