How to delete a Predicate all data faster?

I have a Predicate, it have 3000000+ nodes, I want delete this Predicate all data.
is it Fastest way drop this Predicate to delete this Predicate all data ?

Dropping a predicate will not delete nodes unless you’re referring to dropping an edge, which is a link between nodes. This will do the job, but it’s not advised. It’s not safe to use drop for this purpose. The only safe and recommended way is using the Dgraph’s deletion method.

As @MichelDiz mentioned, predicates aren’t nodes and thus deleting the predicate does not automatically delete a node. However, if we assume that you have something like

type SomeNode {
  id: ID!
  field: String
}

and you have 30000000+ of SomeNode, you could run a DQL upsert mutation which deletes all of them in one go:

{
  "query": "{ q(func: type(SomeNode)) { u as uid } }",
  "mutations": [
    {
      "delete": {
        "uid": "uid(u)"
      }
    }
  ]
}